列表是我們最以后最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作
有點枯燥請諒解 -
定義列表
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"