示例,將新列表中的所有值設(shè)置為 'hello':
newlist = ['hello' for x in fruits]
表達(dá)式還可以包含條件,不像篩選器那樣,而是作為操縱結(jié)果的一種方式:
示例,返回 "orange" 而不是 "banana":
newlist = [x if x != "banana" else "orange" for x in fruits]
列表對(duì)象具有 sort() 方法,默認(rèn)情況下將對(duì)列表進(jìn)行字母數(shù)字排序,升序排列:
示例,對(duì)列表按字母順序排序:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
示例,對(duì)列表按數(shù)字順序排序:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
要進(jìn)行降序排序,請(qǐng)使用關(guān)鍵字參數(shù) reverse = True:
示例,對(duì)列表進(jìn)行降序排序:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse=True)
print(thislist)
示例,對(duì)列表進(jìn)行降序排序:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse=True)
print(thislist)
您還可以通過(guò)使用關(guān)鍵字參數(shù) key = function 來(lái)自定義自己的函數(shù)。該函數(shù)將返回一個(gè)數(shù)字,用于對(duì)列表進(jìn)行排序(首先是最小的數(shù)字):
示例,根據(jù)數(shù)字距離 50 的接近程度對(duì)列表進(jìn)行排序:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key=myfunc)
print(thislist)
默認(rèn)情況下,sort() 方法區(qū)分大小寫(xiě),這導(dǎo)致所有大寫(xiě)字母在小寫(xiě)字母之前排序:
示例,區(qū)分大小寫(xiě)的排序可能會(huì)導(dǎo)致意外結(jié)果:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
幸運(yùn)的是,在對(duì)列表進(jìn)行排序時(shí),我們可以使用內(nèi)置函數(shù)作為鍵函數(shù)。因此,如果您想要不區(qū)分大小寫(xiě)的排序函數(shù),請(qǐng)使用 str.lower 作為鍵函數(shù):
示例,執(zhí)行不區(qū)分大小寫(xiě)的列表排序:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key=str.lower)
print(thislist)
如果要反轉(zhuǎn)列表的順序,而不考慮字母表順序,該怎么辦?reverse() 方法將元素的當(dāng)前排序順序反轉(zhuǎn)。
示例,反轉(zhuǎn)列表項(xiàng)的順序:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
您不能簡(jiǎn)單地通過(guò)鍵入 list2 = list1 來(lái)復(fù)制一個(gè)列表,因?yàn)椋簂ist2 將只是對(duì) list1 的引用,對(duì) list1 進(jìn)行的更改也會(huì)自動(dòng)在 list2 中進(jìn)行。有多種方法可以進(jìn)行復(fù)制,其中一種方法是使用內(nèi)置的列表方法 copy()。
示例,使用 copy() 方法復(fù)制一個(gè)列表:
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)
另一種復(fù)制的方法是使用內(nèi)置的 list() 方法。
示例,使用 list() 方法復(fù)制一個(gè)列表:
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)
在Python中,有多種方法可以連接兩個(gè)或多個(gè)列表。其中一種最簡(jiǎn)單的方法是使用 + 運(yùn)算符。
示例,連接兩個(gè)列表:
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)
另一種連接兩個(gè)列表的方法是將 list2 中的所有項(xiàng)逐一附加到 list1 中:
示例,將 list2 附加到 list1:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
for x in list2:
list1.append(x)
print(list1)
或者您可以使用 extend() 方法,其目的是將一個(gè)列表的元素添加到另一個(gè)列表中:
示例,使用 extend() 方法將 list2 添加到 list1 的末尾:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)
Python具有一組內(nèi)置方法,您可以在列表上使用這些方法。
方法 | 描述 |
---|---|
append() | 在列表末尾添加元素 |
clear() | 移除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素?cái)?shù)量 |
extend() | 將列表(或任何可迭代對(duì)象)的元素添加到當(dāng)前列表的末尾 |
index() | 返回具有指定值的第一個(gè)元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 移除指定位置的元素 |
remove() | 移除具有指定值的項(xiàng)目 |
reverse() | 顛倒列表的順序 |
sort() | 對(duì)列表進(jìn)行排序 |
最后
為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章:
微信公眾號(hào)搜索:Let us Coding
,關(guān)注后即可獲取最新文章推送文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-711761.html
看完如果覺(jué)得有幫助,歡迎 點(diǎn)贊、收藏、關(guān)注文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-711761.html
到了這里,關(guān)于Python 列表操作指南3的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!