Python 中 list 的各項(xiàng)操作技巧
最近在學(xué)習(xí) python 語言。大致學(xué)習(xí)了 python 的基礎(chǔ)語法。覺得 python 在數(shù)據(jù)處理中的地位和它的 list 操作密不可分。
特學(xué)習(xí)了相關(guān)的基礎(chǔ)操作并在這里做下筆記。
''' Python --version Python 2.7.11 Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-lists Add by camel97 2017-04 ''' list.append(x) #在列表的末端添加一個新的元素 Add an item to the end of the list; equivalent to a[len(a):] = [x].
list.extend(L)#將兩個 list 中的元素合并到一起
Extend the list by appending all the items in the given list; equivalent to a[len(a):] = L.
list.insert(i, x)#將元素插入到指定的位置(位置為索引為 i 的元素的前面一個)
Insert an item at a given position. The first argument is the index of the element before which to insert, so a.insert(0, x) inserts at the front of the list, and a.insert(len(a), x) is equivalent to a.append(x).
list.remove(x)#刪除 list 中第一個值為 x 的元素(即如果 list 中有兩個 x , 只會刪除第一個 x )
Remove the first item from the list whose value is x. It is an error if there is no such item.
list.pop([i])#刪除 list 中的第 i 個元素并且返回這個元素。如果不給參數(shù) i ,將默認(rèn)刪除 list 中最后一個元素
Remove the item at the given position in the list, and return it. If no index is specified, a.pop() removes and returns the last item in the list. (The square brackets around the i in the method signature denote that the parameter is optional, not that you should type square brackets at that position. You will see this notation frequently in the Python Library Reference.)
list.index(x)#返回 list 中 , 值為 X 的元素的索引
Return the index in the list of the first item whose value is x. It is an error if there is no such item.
list.count(x)#返回 list 中 , 值為 x 的元素的個數(shù)
Return the number of times x appears in the list.
demo:
#-*-coding:utf-8-*- L = [1,2,3] #創(chuàng)建 list L2 = [4,5,6] print L L.append(6) #添加 print L L.extend(L2) #合并 print L L.insert(0,0) #插入 print L L.remove(6) #刪除 print L L.pop() #刪除 print L print L.index(2)#索引 print L.count(2)#計(jì)數(shù) L.reverse() #倒序 print L
result:
[1, 2, 3] [1, 2, 3, 6] [1, 2, 3, 6, 4, 5, 6] [0, 1, 2, 3, 6, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5] 2 1 [5, 4, 3, 2, 1, 0]
list.sort(cmp=None, key=None, reverse=False)
Sort the items of the list in place (the arguments can be used for sort customization, see sorted() for their explanation).
1.對一個 list 進(jìn)行排序。默認(rèn)按照從小到大的順序排序
L = [2,5,3,7,1] L.sort() print L ==>[1, 2, 3, 5, 7] L = ['a','j','g','b'] L.sort() print L ==>['a', 'b', 'g', 'j']
2.reverse 是一個 bool 值. 默認(rèn)為 False , 如果把它設(shè)置為 True, 那么這個 list 中的元素將會被按照相反的比較結(jié)果(倒序)排列.
# reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.
L = [2,5,3,7,1] L.sort(reverse = True) print L ==>[7, 5, 3, 2, 1] L = ['a','j','g','b'] L.sort(reverse = True) print L ==>['j', 'g', 'b', 'a']
3.key 是一個函數(shù) , 它指定了排序的關(guān)鍵字 , 通常是一個 lambda 表達(dá)式 或者 是一個指定的函數(shù)
#key specifies a function of one argument that is used to extract a comparison key from each list element: key=str.lower. The default value is None (compare the elements directly).
#-*-coding:utf-8-*- #創(chuàng)建一個包含 tuple 的 list 其中tuple 中的三個元素代表名字 , 身高 , 年齡 students = [('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)] print students ==>[('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)] students.sort(key = lambda student:student[0]) print students ==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)]#按名字(首字母)排序 students.sort(key = lambda student:student[1]) print students ==>[('Tom', 160, 12), ('John', 170, 15), ('Dave', 180, 10)]#按身高排序 students.sort(key = lambda student:student[2]) print students ==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)]#按年齡排序
4.cmp 是一個指定了兩個參數(shù)的函數(shù)。它決定了排序的方法。
#cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first #argument is considered smaller than, equal to, or larger than the second argument: cmp=lambda x,y: cmp(x.lower(), y.lower()). The default value is None.
#-*-coding:utf-8-*- students = [('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)] print students ==>[('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)] #指定 用第一個字母的大寫(ascii碼)和第二個字母的小寫(ascii碼)比較 students.sort(cmp=lambda x,y: cmp(x.upper(), y.lower()),key = lambda student:student[0]) print students ==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)] #指定 比較兩個字母的小寫的 ascii 碼值 students.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()),key = lambda student:student[0]) print students ==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)] #cmp(x,y) 是python內(nèi)建立函數(shù),用于比較2個對象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
cmp 可以讓用戶自定義大小關(guān)系。平時我們認(rèn)為 1 < 2 , 認(rèn)為 a < b。
現(xiàn)在我們可以自定義函數(shù),通過自定義大小關(guān)系(例如 2 < a < 1 < b) 來對 list 進(jìn)行指定規(guī)則的排序。
當(dāng)我們在處理某些特殊問題時,這往往很有用。
以上所述是小編給大家介紹的Python 中 list 的各項(xiàng)操作技巧,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python實(shí)現(xiàn)敲擊木魚積累功德小項(xiàng)目
最近大家都很流行用手機(jī)敲擊電子木魚積累功德,這在很多短視頻中也常常見到。本文將用Python實(shí)現(xiàn)這一效果,感興趣的小伙伴可以了解一下2022-11-11在Django中實(shí)現(xiàn)定時任務(wù)的多種方法
在 Django 項(xiàng)目中實(shí)現(xiàn)定時任務(wù)可以幫助自動化執(zhí)行一些后臺任務(wù),如數(shù)據(jù)清理、定期報(bào)告生成等,以下是幾種常見的實(shí)現(xiàn)方式,每種方法都有其獨(dú)特的優(yōu)勢和適用場景,感興趣的小伙伴跟著小編一起來看看吧2024-08-08python2爬取百度貼吧指定關(guān)鍵字和圖片代碼實(shí)例
這篇文章主要介紹了python2爬取百度貼吧指定關(guān)鍵字和圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08python調(diào)用新浪微博API項(xiàng)目實(shí)踐
因?yàn)樽罱佑|到調(diào)用新浪微博開放接口的項(xiàng)目,所以就想試試用python調(diào)用微博API,需要的朋友可以參考下2014-07-07Python實(shí)現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】
今天主要是來說一下怎么可視化來監(jiān)控你的爬蟲的狀態(tài)。文中通過實(shí)例代碼給大家分析了Python實(shí)現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài),感興趣的朋友一起看看吧2018-08-08python自動化UI工具發(fā)送QQ消息的實(shí)例
今天小編就為大家分享一篇python自動化UI工具發(fā)送QQ消息的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08