4.1 列表的定义和访问
python有四种表示数据集合的类型,它们分别是列表、元组、集合和字典。
列表是使用同一个变量名的一组数据,该组数据是同一种变量类型。
列表就如同一个变量一样。我们用表格来理解列表,如下图所示:


a是名称,它占据了6个内存单位,这6个内存单位都能保存数据,它们共享同一个名字:a 。
a[0]代表第一个元素,a[3]代表第四个元素。
列表的定义如下:
#直接列举所有项number=[1,23,45,6,78,98]list = ["apple", "banana", "cherry","apple"]print(list)#一次生成n个sequence=[0]*10print(sequence)i=15sequence=[1]*i #列表个数也可以使用变量iprint(sequence)
number这个列表内的元素全部都是整数,而list这个列表则是字符串,sequence是创建一个长度为10,元素值都是0的列表
列表的元素可以是不同的数据类型,但不建议这么做。
列表是通过下标来访问各个元素的。下标从0开始,例如:
a[0]表示列表a第1个元素。
a[5]表示列表a第6个元素。
下标还可以是负数,-1表示最后一个元素,-2是倒数第二,以此类推。那么负数最小的下标就是-len(a),代表第一个元素
我们可以通过下标给每个元素赋予不同的值:
a=[2,3,56,98,1,23,56,67]a[0]=6a[1]=7a[2]=18a[-1]=34 #最后一个元素赋值34i=a[2]+8 #i的值就是26print(a) #打印看看列表a的值
下标不能越界。所谓的越界就是访问了列表不存在的元素,例如列表只有6个元素,访问的是第7个元素。
下标可以是变量,如a[i]也可以是表达式,如a[i+2],使用表达式也一样,绝对不能越界。
k=2a=[2,3,56,98,1,23,56,67]a[0]=5 #使用具体数字作为下标a[k]=4 #使用变量作为下标a[k+1]=5 #使用表达式作为下标a[8]=9 #下标越界了,a[8]表示第9个元素
列表的下标还可以这么使用:
a=[2,3,56,98,1,23,56,67]b=a[2:5] #下标为0到下标为5(不包括5)这部分拷贝出来成一个新的列表print(a) #[2, 3, 56, 98, 1, 23, 56, 67] 列表a本身没有改变print(b) #[56, 98, 1] 列表b是新生成的b=a[:5] #相当于a[0:5]print(b)b=a[3:] #相当于a[3:8],实际上第二个数字就算越界也不会异常,就算写a[3:100]也可以print(b)
列表的元素的个数称为列表的长度。有一个函数len,可以根据这个函数获得列表的元素个数。
例如下面的代码将打印8:
a=[2,3,56,98,1,23,56,67]print(len(a))