python基础--列表
列表的概念- 列表是一种有序和可更改的集合。
- 列表可以随时添加和删除其中的元素。
- 列表允许重复的成员。
- 列表使用 []表示
- 列表的第一个元素的索引为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])
- True:对列表进行从大到小排序
- False:默认,对列表进行从小到大排序
- 对列表进行排序,永久排序,影响源列表
- reverse=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])
- True:对列表进行从大到小排序
- False:默认,对列表进行从小到大排序
- 此函数也为其他可迭代对象使用。
- 对列表进行排序,暂时排序,不影响源列表
- reverse=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)