Python基礎(chǔ)011--列表和元組的內(nèi)建方法的使用

列表和元組的內(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
    
  • 列表、元組师坎、字符串中通用的方法

    • 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ù)皇忿;有的只是一些常用的操作;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坦仍,一起剝皮案震驚了整個(gè)濱河市鳍烁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌繁扎,老刑警劉巖幔荒,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異梳玫,居然都是意外死亡爹梁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門提澎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)姚垃,“玉大人,你說(shuō)我怎么就攤上這事虱朵±蚵” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵碴犬,是天一觀的道長(zhǎng)絮宁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)服协,這世上最難降的妖魔是什么绍昂? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮偿荷,結(jié)果婚禮上窘游,老公的妹妹穿的比我還像新娘。我一直安慰自己跳纳,他們只是感情好忍饰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寺庄,像睡著了一般艾蓝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斗塘,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天赢织,我揣著相機(jī)與錄音,去河邊找鬼馍盟。 笑死于置,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贞岭。 我是一名探鬼主播八毯,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼秦驯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼献酗!你這毒婦竟也來(lái)了径荔?” 一聲冷哼從身側(cè)響起主届,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尿孔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筹麸,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡活合,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了物赶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片白指。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酵紫,靈堂內(nèi)的尸體忽然破棺而出告嘲,到底是詐尸還是另有隱情,我是刑警寧澤奖地,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布橄唬,位于F島的核電站,受9級(jí)特大地震影響参歹,放射性物質(zhì)發(fā)生泄漏仰楚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一犬庇、第九天 我趴在偏房一處隱蔽的房頂上張望僧界。 院中可真熱鬧,春花似錦臭挽、人聲如沸捂襟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)葬荷。三九已至,卻和暖如春赤赊,著一層夾襖步出監(jiān)牢的瞬間闯狱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工抛计, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哄孤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓吹截,卻偏偏與公主長(zhǎng)得像瘦陈,于是被迫代替她去往敵國(guó)和親凝危。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容