列表和元組的內(nèi)建方法的使用
-
列表的內(nèi)建方法
- cmp()--->進(jìn)行序列比較
- 如果比較的元素是同類型的,則比較其值怔昨,返回結(jié)果-1或者1
- 如果兩個(gè)元素不是同一類型的,則檢查他們是否是數(shù)字
- 如果是數(shù)字,執(zhí)行必要的數(shù)字強(qiáng)制類型轉(zhuǎn)換东羹,然后比較
- 如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是最小的)
- 否則忠烛,通過(guò)類型名字的字母順序進(jìn)行比較
- 如果有一個(gè)列表首先到達(dá)末尾属提,另一個(gè)長(zhǎng)一點(diǎn)的列表大
- 如果列表長(zhǎng)度相同且所有元素按順序都是相等的,那么兩個(gè)序列就是相等的返回一個(gè)0
-
cmp()函數(shù)進(jìn)行比較的時(shí)候美尸,是按照順序比較的
- 因數(shù)字的值小冤议,所以數(shù)字在前的元素的值永遠(yuǎn)是最小的
In [202]: list1 = ["abc","def",123] In [203]: list2 = ["abc",123,"def"] In [204]: cmp(list1, list2) Out[204]: 1 In [205]: list2 = [123,"def","sum"] In [206]: list3 = ["def",123,"sum"] In [207]: cmp(list2, list3) Out[207]: -1
In [209]: list1 = [1,2,3,4,5] In [210]: list2 = [1,2,3,4,5,6,7] In [211]: cmp(list1, list2) Out[211]: -1 In [212]: list1 = ['a','b','c'] In [213]: list2 = ['d','e','f'] In [214]: cmp(list1, list2) Out[214]: -1 In [215]: list1 = ['a','b',123] In [216]: list2 = ['d','e','f'] In [217]: cmp(list1, list2) Out[217]: -1 In [218]: list1 = ['a','b','c'] In [219]: list2 = ['a','b','c'] In [220]: cmp(list1, list2) Out[220]: 0
- cmp()--->進(jìn)行序列比較
-
列表、元組师坎、字符串中通用的方法
- len()-->返回字符串的長(zhǎng)度恕酸,就是字符串包含的字符個(gè)數(shù);對(duì)于列表或者元組來(lái)說(shuō)胯陋,它會(huì)返回列表或者元組的元素個(gè)數(shù)
- max()和min()-->對(duì)于字符串操作蕊温,是獲取字符串中最大和最小字符;對(duì)于列表和元組遏乔,或者列表和元組最大和最小的元素
- enumerate()和zip()-->前者輸出可迭代對(duì)象的index和元素值組成一個(gè)新的元組义矛;后者等長(zhǎng)的兩個(gè)列表對(duì)應(yīng)位的的元素組成一個(gè)元組,生成一個(gè)元組列表
- sum()和reduce()-->對(duì)數(shù)字列表進(jìn)行求和
- list()與tuple()接受可迭代的對(duì)象作為參數(shù)盟萨,并通過(guò)淺拷貝數(shù)據(jù)來(lái)創(chuàng)建一個(gè)新的列表或元組
- range()函數(shù)接受一個(gè)數(shù)值作為輸入凉翻,輸出一個(gè)符合標(biāo)準(zhǔn)的列表
列表類型內(nèi)建函數(shù)列表
函數(shù)表達(dá)式 | 表示含義 |
---|---|
list.append(obj) | 向列表中添加一個(gè)對(duì)象obj |
list.count(obj) | 返回一個(gè)對(duì)象obj在列表中出現(xiàn)的次數(shù) |
list.extend(sep) | 把序列seq的內(nèi)容添加到列表中 |
list.index(obj,start,end) | 返回obj在列表中第一次出現(xiàn)的位置的下標(biāo);eg:list.index(obj,start,end) |
list.insert(index,obj) | 在索引量為index的位置插入對(duì)象obj |
list.pop(index=-1) | 刪除并返回指定位置的對(duì)象捻激,默認(rèn)是最后一個(gè)對(duì)象 |
list.remove(obj) | 重列表中刪除對(duì)象obj |
list.reverse() | 對(duì)列表進(jìn)行倒序 |
list.sort(fuc=None,key=None,reverse=False) | 以指定的方式排序列表中成員制轰,如果func和key參數(shù)指定,則按照指定的方式比較各個(gè)元素铺罢,如果reverse標(biāo)志被設(shè)置為True,則列表以反序排列 |
In [254]: list1 = ['a','b','c']
In [255]: len(list1)
Out[255]: 3
In [256]: max(list1)
Out[256]: 'c'
In [257]: min(list1)
Out[257]: 'a'
# enumerate -->返回一個(gè)元組艇挨,由每個(gè)元素的下標(biāo)index和item組成
In [133]: s = "foobar"
In [135]: for x, y in enumerate(s):
...: print x, y
0 f
1 o
2 o
3 b
4 a
5 r
# zip -->返回一個(gè)列表,由兩個(gè)字符串按順序組成的元組
In [138]: s = "foa"
In [139]: t = "obr"
In [140]: zip(s,t)
Out[140]: [('f', 'o'), ('o', 'b'), ('a', 'r')]
-
列表的一些操作方法
In [1]: list1 = [1,2,'a','b',3,4] In [2]: list1.append(11) # 向列表中增添一個(gè)元素韭赘,默認(rèn)添加到最后一位 In [3]: list1 Out[3]: [1, 2, 'a', 'b', 3, 4, 11] In [4]: list1.count(2) # 查看列表中這個(gè)obj對(duì)象出現(xiàn)的次數(shù) Out[4]: 1 In [5]: m = ['c','d'] In [6]: list1.extend(m) # 把一個(gè)列表添加到另一個(gè)列表中缩滨,默認(rèn)添加到最后 In [7]: list1 Out[7]: [1, 2, 'a', 'b', 3, 4, 11, 'c', 'd'] In [8]: list1.append(1) 、 In [9]: list1 Out[9]: [1, 2, 'a', 'b', 3, 4, 11, 'c', 'd', 1] In [11]: list1.index(1) # 查詢列表中這個(gè)obj對(duì)象第一次出現(xiàn)的下標(biāo) Out[11]: 0 In [14]: list1.index('d') Out[14]: 8 In [17]: list1.index(1,3,11) # 指定一個(gè)范圍查詢obj對(duì)象第一次出現(xiàn)的下標(biāo)泉瞻; Out[17]: 9 In [18]: list1.insert(2,'f') # 在下標(biāo)2中插入對(duì)象obj In [19]: list1 Out[19]: [1, 2, 'f', 'a', 'b', 3, 4, 11, 'c', 'd', 1] In [20]: list1.pop() # 刪除一個(gè)對(duì)象脉漏,默認(rèn)是刪除最后一個(gè),返回這個(gè)對(duì)象值 Out[20]: 1 In [21]: list1 Out[21]: [1, 2, 'f', 'a', 'b', 3, 4, 11, 'c', 'd'] In [22]: list1.remove('a') # 從列表中移除一個(gè)obj對(duì)象 In [23]: list1 Out[23]: [1, 2, 'f', 'b', 3, 4, 11, 'c', 'd'] In [24]: list1.reverse() # 列表的反序袖牙,修改原來(lái)的列表 In [25]: list1 Out[25]: ['d', 'c', 11, 4, 3, 'b', 'f', 2, 1] In [26]: list1.sort() # 列表的排序侧巨,修改原來(lái)列表 In [27]: list1 Out[27]: [1, 2, 3, 4, 11, 'b', 'c', 'd', 'f']
-
元組的一些操作方法
- 元組是不可變的,所有沒(méi)有像列表中排序鞭达、替換司忱、添加等這些操作
-
元組中有的操作方法
- cmp()---->兩個(gè)序列進(jìn)行比較
- min()/max()---->得到元組中的最小值和最大值
- len()---->得到元組的長(zhǎng)度
In [28]: tup = (1,2,3,4) In [29]: tup * 2 Out[29]: (1, 2, 3, 4, 1, 2, 3, 4) In [30]: tup Out[30]: (1, 2, 3, 4) In [31]: max(tup) Out[31]: 4 In [32]: min(tup) Out[32]: 1 In [33]: In [33]: len(tup) Out[33]: 4 In [34]: tup1 = (1,2,3,4) In [35]: In [35]: cmp(tup,tup1) Out[35]: 0
元組和列表沒(méi)有自己專用的操作符和內(nèi)建函數(shù)皇忿;有的只是一些常用的操作;