示例,將新列表中的所有值設定為 'hello':
newlist = ['hello' for x in fruits]
表示式還可以包含條件,不像篩選器那樣,而是作為操縱結果的一種方式:
示例,返回 "orange" 而不是 "banana":
newlist = [x if x != "banana" else "orange" for x in fruits]
列表物件具有 sort() 方法,預設情況下將對列表進行字母數字排序,升序排列:
示例,對列表按字母順序排序:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
示例,對列表按數字順序排序:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
要進行降序排序,請使用關鍵字引數 reverse = True:
示例,對列表進行降序排序:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse=True)
print(thislist)
示例,對列表進行降序排序:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse=True)
print(thislist)
您還可以透過使用關鍵字引數 key = function 來自定義自己的函式。該函式將返回一個數字,用於對列表進行排序(首先是最小的數字):
示例,根據數字距離 50 的接近程度對列表進行排序:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key=myfunc)
print(thislist)
預設情況下,sort() 方法區分大小寫,這導致所有大寫字母在小寫字母之前排序:
示例,區分大小寫的排序可能會導致意外結果:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
幸運的是,在對列表進行排序時,我們可以使用內建函式作為鍵函式。因此,如果您想要不區分大小寫的排序函式,請使用 str.lower 作為鍵函式:
示例,執行不區分大小寫的列表排序:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key=str.lower)
print(thislist)
如果要反轉列表的順序,而不考慮字母表順序,該怎麼辦?reverse() 方法將元素的當前排序順序反轉。
示例,反轉列表項的順序:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
您不能簡單地透過鍵入 list2 = list1 來複制一個列表,因為:list2 將只是對 list1 的引用,對 list1 進行的更改也會自動在 list2 中進行。有多種方法可以進行復制,其中一種方法是使用內建的列表方法 copy()。
示例,使用 copy() 方法複製一個列表:
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)
另一種複製的方法是使用內建的 list() 方法。
示例,使用 list() 方法複製一個列表:
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)
在Python中,有多種方法可以連線兩個或多個列表。其中一種最簡單的方法是使用 + 運算子。
示例,連線兩個列表:
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)
另一種連線兩個列表的方法是將 list2 中的所有項逐一附加到 list1 中:
示例,將 list2 附加到 list1:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
for x in list2:
list1.append(x)
print(list1)
或者您可以使用 extend() 方法,其目的是將一個列表的元素新增到另一個列表中:
示例,使用 extend() 方法將 list2 新增到 list1 的末尾:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)
Python具有一組內建方法,您可以在列表上使用這些方法。
方法 | 描述 |
---|---|
append() | 在列表末尾新增元素 |
clear() | 移除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素數量 |
extend() | 將列表(或任何可迭代物件)的元素新增到當前列表的末尾 |
index() | 返回具有指定值的第一個元素的索引 |
insert() | 在指定位置新增元素 |
pop() | 移除指定位置的元素 |
remove() | 移除具有指定值的專案 |
reverse() | 顛倒列表的順序 |
sort() | 對列表進行排序 |
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章,連結奉上:
公眾號搜尋Let us Coding
,知乎,開源中國,CSDN,思否,掘金,InfoQ,簡書,部落格園,慕課,51CTO,helloworld,騰訊開發者社群,阿里開發者社群
看完如果覺得有幫助,歡迎點贊、收藏和關注