列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
有点枯燥请谅解 -
定义列表
names = ["jimmy", "John", "Mike", "alex"]
通过下标访问列表中的元素,下标从0开始计数
names [0] #正数即代表从左往右数
>>> jimmy
names [1]
>>> John
names [-1] #负数即代表从右往左数
>>> alex
names [-2]
>>> Mike
切片:取多个元素
names = ["jimmy", "John", "Mike", "alex", "Rain", "Tom", "Amy"]
names[1:4] #取下标1至下标4之间的数字,包括1,不包括4
>>> ["John", "Mike", "alex",]
names[1:-1] #取下标1至-1的值,不包括-1
>>> ["John", "Mike", "alex", "Rain", "Tom"]
names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
>>> ["jimmy", "John", "Mike"]
names[3:] #如果想取最后一个,必须不能写-1,只能这么写
["alex", 'Rain', 'Tom', 'Amy']
names[3:-1] #这样-1就不会被包含了
>>> ["alex", "Rain", "Tom"]
names[0::2] #后面的2是代表,每隔一个元素,就取一个
>>> ['jimmy', 'Mike', 'Rain', "Amy"]
names[::2] #和上句效果一样
>>>['jimmy', 'Mike', 'Rain', "Amy"]
追加元素
names = ["jimmy", "John", "Mike", "alex", "Rain", "Tom"]
names.append("我是新来的")
>>> ["jimmy", "John", "Mike", "alex", "Rain", "Tom","我是新来的"]
插入
names = ["jimmy", "John", "Mike", "alex", "Rain", "Tom"]
names.insert(2,"强行从Mike前面插入")
>>> ["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "Rain", "Tom"]
names.insert(5,"从eric后面插入试试新姿势")
["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]
修改
names = ["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]
names[2] = "该换人了"
>>> ["jimmy", "John", "该换人了", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]
删除
names = ["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "从eric后面插入试试新姿势", "Rain", "Tom"]
del names[2]
>>> ["jimmy", "John", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]
del names[4]
>>> ["jimmy", "John", "Mike", "alex", "Rain", "Tom"]
names.remove("Mike") #删除指定元素
>>> ["jimmy", "John", "alex", "Rain", "Tom"]
names.pop() #删除列表最后一个值
>>> "jimmy", "John", "alex", "Rain"]
扩展
names = ["jimmy", "John", "Mike", "alex"]
>>> b = [1,2,3]
>>> names.extend(b)
>>> ["jimmy", "John", "Mike", "alex", 1, 2, 3]
拷贝
names = ["jimmy", "John", "Mike", "alex", 1, 2, 3]
names_copy = names.copy()
names_copy
>>> ["jimmy", "John", "Mike", "alex", 1, 2, 3]
统计
names = ["jimmy", "John", "jimmy", "alex"]
names.count("jimmy")
>>> 2
排序 & 翻转
names = ["jimmy", "John", "Mike", "alex", "1", "2", "3"]
names.short() # 这里要注意 3.0版本 排序要求 列表里面的类型要一样
>>> ["1", "2", "3", "jimmy", "John", "Mike", "alex"]
names.reverse() #反转
>>> ["jimmy", "John", "Mike", "alex", "1", "2", "3"]
获取下标
names = ["jimmy", "John", "Mike", "alex"]
names.index("John")
>>> 2
print(names[names.index("John")]) # 查找并且取出
>>> "John"