国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 中 list 的各項操作技巧

2019-11-25 16:15:02
字體:
來源:轉載
供稿:網友

最近在學習 python 語言。大致學習了 python 的基礎語法。覺得 python 在數據處理中的地位和它的 list 操作密不可分。

特學習了相關的基礎操作并在這里做下筆記。

'''Python --version Python 2.7.11Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-listsAdd 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 個元素并且返回這個元素。如果不給參數 i ,將默認刪除 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 的元素的個數

Return the number of times x appears in the list.

demo:

#-*-coding:utf-8-*-L = [1,2,3]   #創建 list L2 = [4,5,6]print LL.append(6)   #添加print LL.extend(L2) #合并print LL.insert(0,0) #插入print LL.remove(6)   #刪除print LL.pop()     #刪除print Lprint L.index(2)#索引print L.count(2)#計數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]21[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 進行排序。默認按照從小到大的順序排序

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 值. 默認為 False , 如果把它設置為 True, 那么這個 list 中的元素將會被按照相反的比較結果(倒序)排列.

#  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 是一個函數 , 它指定了排序的關鍵字 , 通常是一個 lambda 表達式 或者 是一個指定的函數

#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-*-#創建一個包含 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 是一個指定了兩個參數的函數。它決定了排序的方法。

#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內建立函數,用于比較2個對象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

cmp 可以讓用戶自定義大小關系。平時我們認為 1 < 2 , 認為 a < b。

現在我們可以自定義函數,通過自定義大小關系(例如 2 < a < 1 < b) 來對 list 進行指定規則的排序。

當我們在處理某些特殊問題時,這往往很有用。

以上所述是小編給大家介紹的Python 中 list 的各項操作技巧,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 当雄县| 泰宁县| 镇雄县| 五华县| 收藏| 奉化市| 镇远县| 怀化市| 绍兴县| 湘阴县| 台北县| 阜新市| 黔西县| 南和县| 克什克腾旗| 龙里县| 兖州市| 湘乡市| 南雄市| 平南县| 怀仁县| 普安县| 论坛| 鹤山市| 大竹县| 虎林市| 凤冈县| 呈贡县| 洛隆县| 福贡县| 万盛区| 岐山县| 鄂伦春自治旗| 宜丰县| 东乡县| 汾西县| 铜鼓县| 德钦县| 南投县| 平谷区| 德兴市|