列表(list)是python中的基本數(shù)據(jù)類型之一,它屬于一個(gè)容器型數(shù)據(jù)類型,即列表是一堆數(shù)據(jù)集合。列表內(nèi)可以存放個(gè)任意數(shù)據(jù)類型的元素,可通過(guò)索引訪問(wèn)其元素。列表元素可修改。
列表的增刪
append,在列表尾部增加一個(gè)元素。
insert,在列表任意位置插入新元素。 需要兩個(gè)參數(shù):第一個(gè)是參數(shù)是索引下標(biāo),第二個(gè)參數(shù)是要插入列表的元素。其中索引下標(biāo)從0開始,且可以為負(fù)數(shù),表示倒數(shù)的位置處。
extend,在列表尾部批量增加元素,extend需要一個(gè)參數(shù),該參數(shù)為任意可迭代對(duì)象數(shù)據(jù)類型:列表,字典,元組等。
pop,刪除列表尾部最后一個(gè)元素并返回刪除的元素。默認(rèn)刪除最后一個(gè)元素,可以通過(guò)索引指定刪除并返回的元素;如果列表為空或索引越界,則報(bào)錯(cuò)IndexError 。
remove,刪除第一個(gè)元素,如果不存在則報(bào)錯(cuò)。
clear,清空列表。
# 增
mylist = []
mylist.append("red")
mylist.insert(1, "black")
mylist.extend([1,2,3])
mylist.extend("1234") # 新增元素 "1","2","3","4"
# 刪
mylist.pop() # 刪除并返回最后一個(gè)元素
mylist.pop(1) # 刪除并返回索引為的元素
mylist.remove("red") # 刪除"red"
mylist.clear() # 清空列表
列表的排序
sort(),默認(rèn)對(duì)列表按從小到大的方式排序。通過(guò)參數(shù)reverse=True 指定按從大到小的順序排序。通過(guò)參數(shù)key=function 按指定方法排序。
reverse,對(duì)淚飆元素反轉(zhuǎn)排列,不排序。
#排序
mylist = [3, 5, 4, 9, 1, 6]
mylist.sort(reverse=True) # [9, 6, 5, 4, 3, 1]
mylist.reverse() # [6, 1, 9, 4, 5, 3]
def sort_second_item(ele):
return ele[1]
nums = [(3,2),(6,9), (5,8),(4,5),(1,6)]
nums.sort(key=sort_second_item, reverse=True)
print(nums)
#output: [(6, 9), (5, 8), (1, 6), (4, 5), (3, 2)]
#即 按元組的第二個(gè)元素降序排列啦,激活key,使用自定義排序?qū)ο?/code>
列表的索引
列表的索引是訪問(wèn)列表的最簡(jiǎn)單直接方式。索引從0開始,代表第一個(gè)元素。以此類推。索引為負(fù)值,表示倒數(shù)第幾個(gè)元素。修改指定元素時(shí),也是通過(guò)索引。如:mylist[-1] = "silver" 更新列表最后一個(gè)元素。索引值越軌將會(huì)報(bào)錯(cuò)。
index,獲取指定元素在列表中的索引值。index函數(shù)默認(rèn)返回找到第一個(gè)元素躲在的索引值。此外,可以指定查找起始范圍。如果找不到則拋出異常。
mylist = ["red", "green", "yellow", "purple", "gold"]
print(mylist[0]) # "red"
print(mylist[-1]) # "gold"
mylist[-1] = "silver"
mylist.index("green",1,3)
列表計(jì)數(shù)和復(fù)制
count,返回指定元素在列表中出現(xiàn)的次數(shù),不存在則返回0.
copy ,返回一個(gè)復(fù)制的列表,淺拷貝。
列表切片
切片可以復(fù)制和編輯列表元素。切片按 [start : end : step] 的形式使用,通過(guò)索引值操作,step可為負(fù)數(shù),表示逆序。當(dāng)step不設(shè)置時(shí)默認(rèn)step為1。切片操作遵循“顧頭不顧尾”的原則,即切片范圍是索引值從start到end-1.切片賦值屬于淺拷貝。
mylist = ["red", "green", "yellow", "purple", "gold"]
mylist[1:3] # ["green", "yellow"]
print(mylist[:]) # 全部范圍
print(mylist[2:]) # ['yellow', 'purple', 'gold']
print(mylist[::-1]) # ['gold', 'purple', 'yellow', 'green', 'red']
mylist[1:3] = [1,2]
print(mylist) # ['red', 1, 2, 'purple', 'gold']
列表生成式
高級(jí)玩法 生成列表
a= [i for i in range(1,10) if i%2==0]
print(a) # [2, 4, 6, 8]
其他
列表直接直接加法算數(shù)運(yùn)算符 list1 list2
nums = [1,3,5,7,9]
new_nums = nums [2,4,6,8,10]
print(new_nums)
#output:
[1,3,5,7,9,2,4,6,8,10]
來(lái)源:https://www./content-1-587151.html
|