列表是一种有序和可更改的集合。
列表可以随时添加和删除其中的元素。
列表允许重复的成员。
列表使用 []
表示
列表的第一个元素的索引为0,最后一个元素的索引为-1。
创建列表:list_name = []
list_name[start:end:step]
获取列表的子列表
start
:开始索引
end
:结束索引
step
:步长
list_name = [1,2,100,3,4,5] print('列表的副本,对其修改不影响源列表:',list_name[:]) print('获取从开始到末尾的列表,不包括末尾元素:',list_name[0:-1]) print('获取前几个元素的列表:',list_name[:3]) print('获取后几个元素的列表:',list_name[-3:]) print('获取从开始到末尾,步长为2的元素列表:',list_name[::2])
list_name * n
返回重复n次列表元素的新列表
list_name = [1,2,100,3,4,5] print(list_name * 2)
list_name + list_name
拼接列表,返回新列表
list_name = [1,2,100,3,4,5] new_list_name = [3,4] print(list_name + new_list_name)
sum(list_name)
:求和
max(list_name)
:求最大值
min(list_name)
:求最小值
list_name = [1,2,100,3,4,5,8] print(sum(list_name)) print(max(list_name)) print(min(list_name))
list_name[index]=new_value
通过列表名和索引访问列表对应的元素,然后把新的元素赋值给该索引。
注意:最后一个元素的索引是:len(list_name)-1
list_name = [1,2,3,4,5] list_name[3] = 9 print(list_name)
list_name.append(new_element)
把新元素附加到列表末尾。
list_name = [1,2,3,4,5] list_name.append(6) print(list_name)
list_name.insert(index,new_elemet)
把新元素插到索引位置。
list_name = [1,2,3,4,5] list_name.insert(0,5) print(list_name)
list_name.extend(list_name)
将列表元素(或任何可迭代的元素)添加到当前列表的末尾
list_name = [1,2,3,4] l = list_name.copy() l.append(5) list_name.extend(l) print(list_name)
list_name.pop([index])
删除索引位置的元素。缺省就是删除列表末尾的元素。
list_name = [1,2,3,4,5] list_name.pop() list_name.pop(3) print(list_name)
del list_name[index]
del语句是删除对象的,而Python一切都是对象,所以元素也是对象,可以使用del语句删除对应索引处的元素。
del list_name
可以删除整个列表。
list_name = [1,2,3,4,5] del list_name[-1] print(list_name)
list_name.remove(element)
通过指定元素删除元素
list_name = [1,2,3,4,5] list_name.remove(4) print(list_name)
list_name.clear()
清空列表元素。
list_name = [1,2,3,4] list_name.clear() print(type(list_name)) print(list_name)
len(list_name)
获取列表长度
list_name = [1,2,3,4,5] l = len(list_name) print(l)
list_name.index(value)
:通过列表的值,返回值的索引。
list_name = [1,2,3,4,5] index = list_name.index(2) print(index)
list_name.copy()
复制列表。对复制列表的操作不影响源列表。
list_name = [1,2,3,4] l = list_name.copy() l.append(5) print(list_name,l)
list_name.count(value)
统计value值在列表中出现的次数。
list_name = [1,2,3,4] print(list_name.count(2))
list_name.sort([reverse = True|False])
对列表进行排序,永久排序,影响源列表
reverse=True|False
True
:对列表进行从大到小排序
False
:默认,对列表进行从小到大排序
list_name = [1,2,100,3,4,5] list_name.sort() print(list_name) list_name.sort(reverse = True) print(list_name)
sorted(list_name[,reverse = True|False])
此函数也为其他可迭代对象使用。
对列表进行排序,暂时排序,不影响源列表
reverse=True|False
True
:对列表进行从大到小排序
False
:默认,对列表进行从小到大排序
list_name = [1,2,100,3,4,5] print(sorted(list_name)) print(sorted(list_name,reverse=True)) print(sorted(list_name,reverse=False)) print(list_name)
list_name.reverse()
对列表进行排序,翻转排序,永久排序,影响源列表
list_name = [1,2,100,3,4,5] list_name.reverse() print(list_name) list_name.reverse() print(list_name)
range(start:end[:step])
返回从start-end之间,每隔step步长的整数,range对象。
使用list(range(start:end[:step]))
函数可以快速创建数值列表。
使用for...in...
循环可以输出数值列表的元素
range_list = list(range(1,100)) print(range_list) for r in range_list: print(r,end='')
列表生成式
使用列表生成式可以快速创建新列表。
列表生成式中的for...in...
和if
不需要:
new_list = [x**2 for x in range(1,10)] print(new_list) new_list = [x*y for x in list(range(1,10)) if x>2 for y in range(8,10)] print(new_list)