python列表学习笔记
1.什么是列表
1)列表是由一系列按特定顺序排序的元素组成,名称一般为复数。(由方括号表示**[]**)
2)python中将不能修改的值称为不可变值,不可变的列表称为元组(由圆括号表示**()**)。
>>>bicycles = ['trek', 'cannondale', 'redline']
>>>print(bicycles)
>>>print(bicycles[0])
['trek', 'cannondale', 'redline']
trek
注:列表索引从0开始,倒数第一位可用-1表示
2.列表中元素修改
>>>bicycles[0] = '待修改元素‘
3.添加元素
3.1 尾部添加
>>>bicycles.append('添加元素')
>>>bicycles.insert(-1, '待添加元素')
3.2 任意位置插入
bicycles.insert(X, '待插入元素')
x索引位置,即有元素位置右移
4.删除元素
4.1 要删除元素位置已知,且后续不再使用该值
del bicycles[0]
4.2 要删除元素位置未知,且后续可以使用该值,有多个待删元素时,只可以删除一个值
one = '待删除'
bicycles.removw(one)
4.3 pop()删除元素
>>>popped_bicycle = bicycles.pop()
>print(popped_bicycle)
>print(bicycles)
redline
['trek', 'cannondale']
注:bicycles.pop(0),括号里填写索引位置,可以弹出该位置元素值,并在列表中删除,该方法后续还可以使用弹出值
5.列表排序
5.1 sort()永久性排序
sort()以字母顺序排序,sort(reverse = true)字母逆序排序。
>>>bicycles = ['trek', 'cannondale', 'redline']
**#字母顺序**
>>>bicycles.sort()
>>>print(bicycles)```
['cannondale', 'redline', 'trek']
#字母逆序
>>>bicycles.sort(reverse=True)
>>>print(bicycles)
['trek', 'redline', 'cannondale' ]
5.2sorted()临时排序
bicycles = ['trek', 'cannondale', 'redline']
#字母顺序
>>>print(sorted(bicycles))
>>>print(bicycles)
['cannondale', 'redline', 'trek']
['trek', 'cannondale', 'redline']
#字母逆序
>>>print(sorted(bicycles, reverse=True))
>>>print(bicycles)
['trek', 'redline', 'cannondale' ]
['trek', 'cannondale', 'redline']
5.3 列表逆序排列reverse()(永久性)
注:reverse()逆序是指与列表顺序相反,len()可以读出列表长度。
>>>print(bicycles)
>>>bicycles.reverse()
>>>print(bicycles)
>>>print(len(bicycles))
['trek', 'cannondale', 'redline']
['redline', 'cannondale','trek']
4
6.列表操作
6.1 遍历列表
my_foods = ['pizza', 'falafel', 'carrot cake']
for my_food in my_foods:
print(my_food)
#遍历元组同理
6.2 创建数字列表
1)可以利用list()函数直接将range()函数生成的值组成列表
number = list(range(1,6))
print(number)
even_number = list(range(2,7,2))
print(even_number)
[1,2,3,4,5]
[2,4,6]
2)创建一个1-10整数平方的列表
squares = []
for value in range(1,11):
squares.append(value**2)
print(squares)
#等价于
squares = [value**2 for value in range(1,11)]
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3)常用函数
max(), min(), sum()
letter = ['d', 'b', 'a', 'f', 'd', 'u']
print(max(letter))
print(min(letter))
6.3 列表切片
1)列表切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
#取列表前三位元素
['charles', 'martina', 'michael']
注:切片与range()函数一样,在到达第二个索引元素前停止,索引为[0:3]时,取0,1,2为索引的前三个元素
2)遍历切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players[:3]
print(player)
charles
martina
michael
注:[:3]前索引数字不填时,默认为从0开始;[3:]后索引数字不填时,默认取到最后以为元素,即从第三个元素到最后一个元素都取上;[ : ]等价于取所有元素。
6.4 复制列表
1)复制列表语句
list2 = [1, 2, 3, 4, 5]
方法一: list_1 = list_2[:]
方法二: list_1 = list_2.copy()
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print(my_foods)
print(friend_foods)
my_foods.append('ice cream')
friend_foods.append('cannoli')
print(my_foods)
print(friend_foods)
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake', 'ice cream']
['pizza', 'falafel', 'carrot cake', 'cannoli']
1)赋值语句
list_1 = list_2
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods
print(my_foods)
print(friend_foods)
my_foods.append('ice cream')
friend_foods.append('cannoli')
print(my_foods)
print(friend_foods)
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake', 'ice cream', 'cannoli']
['pizza', 'falafel', 'carrot cake', 'ice cream', 'cannoli']
补充:
1)count(‘元素’)
统计列表中某个元素出现的次数
2)index(‘元素’)
查找某个元素在列表首次出现的位置(索引)
letter = ['d', 'b', 'a', 'f', 'd', 'u']
print(letter.index('u'))
print(letter.index('d'))
print(letter.count('d'))
5
0
2
7.什么是列表
7.1 元组
python中将不能修改的值称为不可变值,不可变的列表称为元组(由圆括号表示**()**)。
7.2 遍历元组
与列表操作一致
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
for dimension in dimensions[0:1]:
print(dimension))
200
50
200
7.3 元组不可修改
1)删除整个元组
t = tuple(letter)
del t
print(t)
Name 't' can be not defined
2)列表转换成元组tuple(列表)
letter = ['d', 'b', 'a', 'f', 'd', 'u']
t = tuple(letter)
print(t)