欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 中 list 的各項(xiàng)操作技巧

 更新時間:2017年04月13日 17:25:48   作者:山羊0.0  
最近在學(xué)習(xí) python 語言。大致學(xué)習(xí)了 python 的基礎(chǔ)語法。覺得 python 在數(shù)據(jù)處理中的地位和它的 list 操作密不可分,今天把相關(guān)基礎(chǔ)操作記錄到腳本之家平臺,需要的的朋友參考下

最近在學(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)文章

最新評論