21.列表
- 创建列表
#range()方法或用列表推导式
x = list(range(10))
print(x, type(x))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
x = list(range(1, 11, 2))
print(x, type(x))
# [1, 3, 5, 7, 9] <class 'list'>
x = list(range(10, 1, -2))
print(x, type(x))
# [10, 8, 6, 4, 2] <class 'list'>
x = [0 for i in range(5)]
print(x, type(x))
# [0, 0, 0, 0, 0] <class 'list'>
- list.append(obj) 向列表中追加元素
- list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- list.remove(obj) 移除列表中某个值的第一个匹配项
- list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),也可以指定下标**
- 获取列表中的元素
切片的方式
切片的通用写法是 start : stop : step
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[1:4:2]) # ['Tuesday', 'Thursday']
print(week[:4:2]) # ['Monday', 'Wednesday']
print(week[1::2]) # ['Tuesday', 'Thursday']
print(week[::-1])
# ['Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
- 复制列表中的所有元素
深拷贝:若列表中嵌套列表,经过深拷贝后,第一层,第二层列表的内存id都与原来不同
浅拷贝:若列表中嵌套列表,经过深拷贝后,第一层列表的内存id都与原来不同,第二层任与之前的列表内存id相同
方法
- List itemlist.count(obj) 统计某个元素在列表中出现的次数
- list.index(x[, start[, end]]) 从列表中找出某个值第一个匹配项的索引位置
- list.reverse() 逆序列表中元素 ,与list[-1::-1]效果一样
- list.sort(key=None, reverse=False) 对原列表进行排序。
-key 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
-reverse 排序规则,reverse = True 降序, reverse = False 升序(默认)。 该方法没有返回值,但是会对列表的对象进行排序。