Python 集合遍歷

1.set集合

可變集合(set):可添加和刪除元素序调,非可哈希的瘸味,不能用作字典的鍵震鹉,也不能做其他集合的元素

不可變集合(frozenset):與上面恰恰相反

Paste_Image.png

創(chuàng)建集合

>>> s = set('beginman')
>>> s
set(['a', 'b', 'e', 'g', 'i', 'm', 'n'])
>>> t = frozenset('pythonman')
>>> t
frozenset(['a', 'h', 'm', 'o', 'n', 'p', 't', 'y'])
>>> type(s),type(t)
(<type 'set'>, <type 'frozenset'>)
>>> len(s),len(t)
(7, 8)
>>> s==t
False
>>> s=t
>>> s==t
True
>>> 

訪問集合

>>> 'a' in s
True
>>> 'z' in s
False
>>> for i in s:
    print i

更新集合
可使用以下內(nèi)建方法來更新:
s.add()s.update()s.remove()
注意只有可變集合才能更新:

>>> s.add(0)

Traceback (most recent call last):
  File "<pyshell#46>", line 1, in <module>
    s.add(0)
AttributeError: 'frozenset' object has no attribute 'add'
>>> type(s)
<type 'frozenset'>
>>> se = set(s)
>>> se
set(['a', 'h', 'm', 'o', 'n', 'p', 't', 'y'])
>>> type(se)
<type 'set'>
>>> se.add(0)
>>> se
set(['a', 0, 'h', 'm', 'o', 'n', 'p', 't', 'y'])
>>> se.update('MM')
>>> se
set(['a', 0, 'h', 'm', 'o', 'n', 'p', 'M', 't', 'y'])
>>> se.update('Django')
>>> se
set(['a', 0, 'D', 'g', 'h', 'j', 'm', 'o', 'n', 'p', 'M', 't', 'y'])
>>> se.remove('D')
>>> se
set(['a', 0, 'g', 'h', 'j', 'm', 'o', 'n', 'p', 'M', 't', 'y'])
>>> 

2. dict 集合遍歷

#!/usr/bin/python 
dict={"a":"apple","b":"banana","o":"orange"} 
 
print "##########dict######################" 
for i in dict: 
        print ("dict[%s]=" % i,dict[i])
 
print "###########items#####################" 
for (k,v) in  dict.items(): 
        print ("dict[%s]=" % k,v)
 
print "###########iteritems#################" 
for k,v in dict.iteritems(): 
        print ("dict[%s]=" % k,v)
 
print "###########iterkeys,itervalues#######" 
for k,v in zip(dict.iterkeys(),dict.itervalues()): 
        print ("dict[%s]=" % k,v)

從字典中刪除元素

del dict1['sex'] # del 允許您使用 key 從一個(gè) dictionary 中刪除獨(dú)立的元素
dict1.clear() # clear 從一個(gè) dictionary 中清除所有元素

3.元組

Python中的元組(Tuple)類似于Java中的數(shù)組,一旦創(chuàng)建了一個(gè) tuple梦重,就不能以任何方式改變它赏壹。這點(diǎn)與Python中的字符串類似,所以我們說元組和字符串都是不可變的序列.元組也支持索引和分片操作.

#定義一個(gè)元組

tuple1 = (1, 2, '3', 4, '5')

# 定義了一個(gè)元組之后就無法再添加或修改元組中的元素
print tuple1[0] # 元組的元素都有確定的順序。元組的索引也是以0為基點(diǎn)的
print tuple1[-1] # 負(fù)的索引從元組的尾部開始計(jì)數(shù)
print tuple1[1:3] # 元組也可以進(jìn)行切片操作泥彤。對(duì)元組切片可以得到新的元組。

# 可以使用 in 運(yùn)算符檢查某元素是否存在于元組中卿啡。
print 1 in tuple1 # True

#使用for in 進(jìn)行遍歷元組
for item in tuple1:
 print item

# 如果需要獲取item的序號(hào) 可以使用下面的遍歷方法:
for index in range(len(tuple1)):
 print tuple1[index]

# 還可以使用內(nèi)置的enumerate函數(shù)
for index, item in enumerate(tuple1):
 print '%i, %s' % (index, item)

4.列表

列表是Python中最具靈活性的有序集合對(duì)象類型,與字符串不同的是,列表可以包含任何種類的對(duì)象:數(shù)字,字符串,甚至是其他列表.并且列表都是可變對(duì)象,它支持在原處修改的操作.也可以通過指定的索引和分片獲取元素.列表就可元組的可變版本.

定義一個(gè)列表使用一對(duì)中(方)括號(hào)” [ ] “.與元組不同的是, 列表有一些內(nèi)置的函數(shù)對(duì)列表進(jìn)行增加,修改和刪除等操作.

#定義一個(gè)列表
listA = ['a', 'b', 'c', 1, 2]
# 向 list 中增加元素
# 1.使用append   向 list 的末尾追加單個(gè)元素吟吝。
listA.append(3)
# 2.使用 insert  將單個(gè)元素插入到 list 中。數(shù)值參數(shù)是插入點(diǎn)的索引
listA.insert(3, 'd') # 在下標(biāo)為3處添加一個(gè)元素
# 3.使用 extend 用來連接 list
listA.extend([7, 8])
###  extend 和 append 看起來類似颈娜,但實(shí)際上完全不同剑逃。
### extend 接受一個(gè)參數(shù),這個(gè)參數(shù)總是一個(gè) list官辽,
### 并且把這個(gè) list 中的每個(gè)元素添加到原 list 中蛹磺。
### 另一方面,append 接受一個(gè)參數(shù)同仆,這個(gè)參數(shù)可以是任何數(shù)據(jù)類型萤捆,并且簡(jiǎn)單地追加到 list 的尾部。
# 獲取列表的長(zhǎng)度
print len(listA)  # 9
# 在 list 中搜索
listA.index(3)  # index 在 list 中查找一個(gè)值的首次出現(xiàn)并返回索引值俗批。
listA.index('100')  # 如果在 list 中沒有找到值俗或,Python 會(huì)引發(fā)一個(gè)異常。
print 5 in listA  # 要測(cè)試一個(gè)值是否在 list 內(nèi)岁忘,使用 in辛慰。如果值存在,它返回 True干像,否則返為 False 帅腌。
# 從 list 中刪除元素
listA.remove(3)  # remove 從 list 中 僅僅 刪除一個(gè)值的首次出現(xiàn)。如果在 list 中沒有找到值麻汰,Python 會(huì)引發(fā)一個(gè)異常
print listA.pop()  # pop 它會(huì)做兩件事:刪除 list 的最后一個(gè)元素速客,然后返回刪除元素的值。
# 遍歷list
for item in listA:
    print item
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末什乙,一起剝皮案震驚了整個(gè)濱河市挽封,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖辅愿,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件智亮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡点待,警方通過查閱死者的電腦和手機(jī)阔蛉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來癞埠,“玉大人状原,你說我怎么就攤上這事∶缱伲” “怎么了颠区?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)通铲。 經(jīng)常有香客問我毕莱,道長(zhǎng),這世上最難降的妖魔是什么颅夺? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任朋截,我火速辦了婚禮,結(jié)果婚禮上吧黄,老公的妹妹穿的比我還像新娘部服。我一直安慰自己,他們只是感情好拗慨,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布廓八。 她就那樣靜靜地躺著,像睡著了一般胆描。 火紅的嫁衣襯著肌膚如雪瘫想。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天昌讲,我揣著相機(jī)與錄音国夜,去河邊找鬼。 笑死短绸,一個(gè)胖子當(dāng)著我的面吹牛车吹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播醋闭,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼窄驹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了证逻?” 一聲冷哼從身側(cè)響起乐埠,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恋捆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伤疙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辆影,死狀恐怖徒像,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛙讥,我是刑警寧澤锯蛀,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站次慢,受9級(jí)特大地震影響谬墙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜经备,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望部默。 院中可真熱鬧侵蒙,春花似錦、人聲如沸傅蹂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)份蝴。三九已至犁功,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婚夫,已是汗流浹背浸卦。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留案糙,地道東北人限嫌。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像时捌,于是被迫代替她去往敵國(guó)和親怒医。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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

  • 本節(jié)要介紹的是Python里面常用的幾種數(shù)據(jù)結(jié)構(gòu)。通常情況下僚稿,聲明一個(gè)變量只保存一個(gè)值是遠(yuǎn)遠(yuǎn)不夠的凡桥,我們需要將一組...
    小黑y99閱讀 65,200評(píng)論 0 9
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程,做筆記總結(jié)一下重點(diǎn)蚀同。 基本變量及其類型 變量 在Python中缅刽,...
    victorsungo閱讀 1,701評(píng)論 0 5
  • 本教程基于Python 3,參考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121閱讀 3,066評(píng)論 1 6
  • Python簡(jiǎn)介 Python歷史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生閱讀 1,052評(píng)論 0 2
  • 那一次,我爸爸還在廠里上班刹孔,爸爸的同事送給爸爸一條小狗啡省。這條小狗全身都是黃色的,只有眼睛是黑色的髓霞。他耳朵耷拉著卦睹,...
    黃敬添閱讀 171評(píng)論 0 0