一、定义
在python中,用方括号([ ])来表示列表,并用逗号来分割其中的元素;
例:colors = ['red','blue','Yellow','green','pink']
访问列表元素
列表是有序集合,因此要访问列表中的任何元素,只需要将该元素的位置或索引告诉python即可
例:colors = ['red','blue','Yellow','green','pink']
print(colors[1])
注意:同其他编程语言一样,列表的索引是从0开始而不是从1开始
二、修改、添加和删除元素
1、修改列表元素
colors = ['red','blue','Yellow','green','pink']
colors[2] = 'black';
2、在列表末尾添加元素
colors.append('orange')
3、在列表指定位置中插入元素
colors.insert(0,'purple')
4、在列表中删除元素
4.1、使用del语句删除元素
del colors[0]
4.2、使用pop()方法删除元素
有时候,既要将元素从列表中删除,并接着使用它的值,这时候可以使用pop();pop()可删除列表末尾的元素,并可以使用该元素,术语pop()源自这样的类比:列表就像一个栈,而删除列表末尾的元素就相当于弹出栈顶元素;
colors = ['red','blue','yellow','green','pink']
color = colors.pop()
4 .3、弹出列表中任何位置处的元素
pop()可以删除列表中任何位置的元素,只需要在括号中指定要删除的元素的索引即可
first_color = colors.pop(0)
使用pop()与del()的原则:如果从列表中删除一个元素,且不再使用它,就用del()语句;如果要在删除元素后还能继续使用它,就用pop()
4.4、根据值删除元素
只知道要删除元素的值,可使用remove()
remove('red')
三、列表常用操作
1、在python中使用sort()对列表进行永久排序,默认是按照字母的升序进行排序,如要对字母的降序进行排序,则只需向sort()方法里传递参数reverse = True
colors = ['red','blue','yellow','green','pink']
colors.sort() #默认按照升序进行排序
colors.sort(reverse = true)
2、使用函数sorted()对列表进行临时排序
若要保留列表元素原来的排序顺序,同时以特定的顺序呈现该列表,则可使用函数sorted().函数sorted()可以按照特定的元素展示列表元素,同时不影响他们在列表中的原始排序顺序
colors = ['red','blue','yellow','green','pink']
print(sorted(colors))
3、逆序顺序输出列表
若要反转列表元素的排序顺序,可使用reverse()方法
print(colors.reverse())
4、确定列表的长度
使用函数len()可快速获悉列表的长度
colors = ['red','blue','yellow','green','pink']
print(len(colors)
5、遍历这个列表
friends =['Tom','jack','tony','eric','tomthays']
for name in friends: #注意一定不要遗漏了这个逗号
print(name)
6、创建数字列表
6.1、使用rang()函数:python中range()函数可以轻松的生成一系列的数字,range函数是左闭右开的概念
for value in range(1,5)
print(value)
上述代码只会打印数字1-4,不会大一数字5,如果要打印1-6,则需要使用range(1,6)
for value in range(1,6):
print(value)
7、使用range()创建数字列表
要创建数字列表,可使用list()将range()的结果直接转换为列表,如果将range()作为list()的参数,将输出一个数字列表;
例:numbers = list(range(1,6))
print(numbers)
在python中两个星号(**)表示乘方运算;
例:将1-10的平方加入到一个列表中
squares = [] for value in range(1,11): square = value**2 squares.append(square) print(squares)
输出为:
8、对数字列表执行简单的统计计算
min:数字列表的最小值
max:数字列表的最大值
sum:对数字列表进行求和
9、对列表进行解析
前面生成列表squares的方式包含三四行代码,而列表解析只需要一行代码就能生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素
value**2用于计算平方值
四、列表高级操作
1、切片
要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1.与函数range()一样,Python在达到指定的第二个索引前面的元素后停止。要输出列表中前三个元素,需要指定索引0~3,这将分别输出0,1和2的元素
players = ['chales','martina','michael','florence','eli'] print(players[0:3]) #输出索引为0-2的元素 print(players[1:4]) #输出索引为2-4的元素 print(players[:4]) #输出索引为0-3的元素 print(players[2:]) #输出索引为2-len(players)-1的元素
2、遍历切片
players = ['chales','martina','michael','florence','eli'] for player in players[:3]: #遍历前三民队员 print(player.title())
3、复制列表:要复制列表,可创建一个包含列表的切片,方法是同时省略起始索引和终止索引([:]),这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表;而使用“=”赋值的方式则是指向的同一个列表
foods = ['pizza','falafel','carrot cake'] friend_foods = foods[:] #使用切片的方式复制整个列表 print(foods) print() print(friend_foods)
foods = ['pizza','falafel','carrot cake'] friend_foods = foods[:] #使用切片的方式复制整个列表 foods.append("cannoli") #增加到原列表 friend_foods.append("ice cream") #增加到复制的列表中 print(foods) print("copied list:") print(friend_foods)
#赋值的方式复制列表 foods = ['pizza','falafel','carrot cake'] friend_foods = foods foods.append("cannoli") friend_foods.append("ice cream") print(foods) print("copied list:") print(friend_foods)
由以上可知使用赋值的方式在增加列表元素,则整个列表都增加了,并无任何复制与原列表的区别
元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站用户列表或游戏中的角色列表至关重要。然而,有时候需要创建一系列不可修改的元素,元组可以满足这种要求。Python中将不可修改的值称为不可变的,而不可变的列表被称为元组。
1、定义元组
元组看起来犹如列表,但使用圆括号“()”来标识,定义元组后,就可以使用索引来方位其元素,就像访问列表一样。
例:如果有一个大小不变的矩阵,可将其长度和宽度存储在一个元组中国,从而确保他们是不可修改的。
dimesions = (200,50) print(dimesions[0]) print(dimesions[1])
下面试图修改dimensions中的元素
dimesions = (200,50) print(dimesions[0]) print(dimesions[1]) dimesions[0] = 250
2、遍历元组中所有的值跟列表一样的方法
dimesions = (200,50,400,500) for dimesion in dimesions: print(dimesion)
3、修改元组变量
虽然不能直接修改元组的元素,但可以给存储的变量赋值,因此,如果要修改前面的矩阵尺寸,可重新定义整个元组
dimesions = (200,50,400,500) print("Original dimesions:") for dimesion in dimesions: print(dimesion) dimesions = (200,50,250,900) print("\nModified dimesions:") for dimesion in dimesions: print(dimesion)