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]*10
print(sequence)
i=15
sequence=[1]*i #列表个数也可以使用变量i
print(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]=6
a[1]=7
a[2]=18
a[-1]=34 #最后一个元素赋值34
i=a[2]+8 #i的值就是26
print(a) #打印看看列表a的值
下标不能越界。所谓的越界就是访问了列表不存在的元素,例如列表只有6个元素,访问的是第7个元素。
下标可以是变量,如a[i]也可以是表达式,如a[i+2],使用表达式也一样,绝对不能越界。
k=2
a=[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))