在Python中的數據類型和控制流這篇文章中我們提到過列表,它是基本的數據類型之一。
通俗來說,它就是用來存儲一系列數據的。比如存儲一個班級的學生。
列表中的每個元素可以通過下標(索引)訪問,索引從0開始。
既然列表存儲的是一系列值,這必然存在「增刪改查」的情況,就像一個班級的學生,有進入學的,也有退學的。
接下來我們來說說,首先我們先從列表的創建開始。
創建列表
list = [ele1 , ele2 , elem3 , ... , elen]
比如,創建一個數字列表或英文字符列表
nums = [1, 2, 3, 4, 5] letters = ["a", "b", "c", "d"];
另外我們也可以創建一個空數組
list = []
訪問列表中的值
訪問列表中的值,使用下標即可。除了可以訪問單個元素外還可以通過切片訪問多個元素。
nums = [1, 2, 3, 4, 5] print(nums[1]) #2 print(nums[1:3]) #[2, 3]
添加元素
Append() 方法用于向列表的末尾添加元素。會修改原來的列表。
語法:
list.append(ele)
例如:
nums = [1,2] nums.append(3) print(nums) #[1, 2, 3]
插入元素
insert()方法在指定位置插入指定元素。
語法:
list.insert(index, ele)
例如:
list = ['JAVAscript', 'python'] list.insert(0, 'java') print(list) #['java', 'JavaScript', 'python'] list.insert(1, 'java') print(list) #['javascript', 'java', 'python']
刪除元素
想要刪除列表中的元素可以有多種方式:
del 語句: 是專門用于執行刪除操作,不僅可用于刪除列表的元素,也可用于刪除變量等。
del 語法:刪除指定下標的元素
del list[index]
例如:
list = ['java', 'javascript', 'python'] del list[1] print(list) #['java', 'python']
pop()方法用于刪除指定下標元素,并返回該元素的值。
語法:
list.pop(index)
index 為可選參數,默認為最后一位。
例如:
默認是最后一位
list = ['java', 'javascript', 'python'] list.pop() print(list) #['java', 'javascript']
指定索引
list = ['java', 'javascript', 'python'] list.pop(1) print(list) #['java', 'python']
remove()方法用于刪除第一次匹配的內容。
語法:
list.remove(ele)
例如:
list = ['java', 'javascript', 'python'] list.remove('java') print(list) #['javascript', 'python']
只會刪除第一次匹配的
list = ['java', 'javascript', 'python', 'java'] list.remove('java') print(list) #['javascript', 'python', 'java']
修改列表
通過下標的方式進行修改
list = ['java', 'javascript', 'python'] list[1] = 'js' print(list) #['java', 'js', 'python']
連接與合并
列表可以通過「+」操作符進行拼接
list1 = ['java', 'python']
list2 = ['javascript']
print(list1+list2) #['java', 'python', 'javascript']
extend()方法可用于列表與序列類型的數據合并。會把序列中的元素一次追加到列表的末尾。
語法:
list.extend(seq)
seq:可以為列表,元組,字典,集合。
例如:
合并列表
list1 = ['java'] list2 = ['python'] list1.extend(list2) print(list1) #['java', 'python']
合并元組
list1 = ['java']
list2 = ('javascript', 'python')
list1.extend(list2)
print(list1) #['java', 'javascript', 'python']
合并字典,合并的卻是字典的 key 值。
list1 = ['java'] list2 = { 'web': 'javascript', 'data': 'python' } list1.extend(list2) print(list1) #['java', 'web', 'data']
合并集合
list1 = ['java'] list2 = {'javascript', 'python'} list1.extend(list2) print(list1) #['java', 'javascript', 'python']
查找元素
利用 in 與 not in:判斷內容是否在列表中,返回True或Flase
list = ['java', 'javascript', 'python'] print('java' in list) #True print('html' in list) #False print('java' not in list) #False print('html' not in list) #True
index()方法從列表中找出第一個匹配項的索引。如果沒找到會拋出異常。
語法:
list.index(ele [, start[, end]])
ele:查找的內容,start:查找的開始位置,end:查找的結束位置。
例如:
list = ['java', 'javascript', 'python'] print(list.index('python')) #2
元組
元組與列表的用法相同,區別就在于元組不可變,而列表是可變的。
tuple = ('java', 'javascript', 'python') tuple[1] = 'js' print(tuple)
此時程序會拋出異常。
tuple = ('java', 'javascript', 'python') del tuple[1] print(tuple)
甚至刪除都是不被允許的,一樣會拋出異常。