python3入門(3)---列表允跑、元組王凑、字典、集合詳解

列表類型

訪問(wèn)list的值:

list1 = [1, 2, 3, 4, 5]

print(list1[0])  # 1
print(list1[0: 1]) #[1]
print(list1[0: 2]) #[1, 2]
print(list1[1:]) # [2, 3, 4, 5]
print(list1[: 2]) # [1, 2]
print(list1[::-1]) # [5, 4, 3, 2, 1]

print(list1[-2]) #4

更新list:

list1[2] = 1000

print(list1) #[1, 2, 1000, 4, 5]

刪除list中元素:

del list[1]

print(list1) #[1, 1000, 4, 5]

其他:

list1 = [1, 2, 3, 4, 5]

print(list1 + [6, 7]) # [1, 2, 3, 4, 5, 6, 7]
print(list1 * 2) #[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
len(list)  # 5
print(7 in list1) # False

## 遍歷list
for item in list1:
  print(item)
for i in range(0, len(list1)):
  print(list1[i])

嵌套列表聋丝,類似于多維數(shù)組:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c', 'd']
list3 = [list1, list2]

print(list3) # [[1, 2, 3], ['a', 'b', 'c', 'd']]
print(list3[0]) #[1, 2, 3]
print(list3[1][2]) # c

列表函數(shù)&方法:

名稱 含義
min(list) 返回list中最小值
max(list) 返回list中最大值
len(list) 返回list的長(zhǎng)度
list(seq) 將序列seq轉(zhuǎn)換為list索烹,支持list,tuple,set,dict,dict只獲取dict.keys()
list.append(obj) list末尾新增obj,直接作用于list弱睦,返回值為None
list.count(obj) 統(tǒng)計(jì)obj在list中出現(xiàn)的次數(shù)
list.extend(seq) 在list末尾增加序列seq百姓,支持list,tuple,set,dict,dict只獲取dict.keys()
list.index(obj) 找出obj在list中第一個(gè)匹配的下標(biāo),沒(méi)有則拋出異常ValueError: obj is not in list
list.insert(index, obj) 將obj插入list况木,指定索引為index
list.pop([index]) 移除列表中一個(gè)元素垒拢,默認(rèn)為-1(最后一個(gè)),也可以指定index
list.remove(obj) 查找到第一個(gè)obj元素火惊,并從列表中移除obj
list.reverse() 反轉(zhuǎn)list
list.sort([key, reverse]) reverse為True時(shí)求类,降序排列,為False時(shí)(默認(rèn))屹耐,升序排列
list.clear() 清空列表
list.copy() 復(fù)制列表
tuple1 = (1, 2, 3, 4)
set1 = {1, 3, 5, 6}
dict1 = {1: 'a', 2: 'b'}

print(list(tuple1)) #[1, 2, 3, 4]
print(list(set1)) #[1, 3, 5, 6]
print(list(dict1)) #[1, 2]

元組

與list相似尸疆,只是不能修改

tips:重新賦值的元組 tup,綁定到新的對(duì)象了惶岭,不是修改了原來(lái)的對(duì)象

字典

dict1 = {"1": "yi", "2":"er","3":"san"}

## 取值
print(dict1["1"])  # yi
## 修改字典
dict1["1"] = "一"
print(dict1["1"])  # 一
del dict1["1"] #刪除字典元素
dict1.clear() #清空字典
del dict1 #刪除字典

字典鍵的特性:

  1. 不允許同一個(gè)鍵出現(xiàn)兩次寿弱。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住
  2. 鍵必須不可變俗他,所以可以用數(shù)字脖捻,字符串或元組充當(dāng)阔逼,而用列表就不行

字典內(nèi)置函數(shù)&方法:

dict = {"1": "yi", "2":"er","3":"san"}

名稱 含義
len(dict) dict的長(zhǎng)度
dict.copy() 淺拷貝dict
dict.fromkeys(seq) 從seq序列中的元素作為字典的key兆衅,值為None
dict.get(key[,default]) 從dict中獲取key對(duì)應(yīng)的value,不存在默認(rèn)為None嗜浮,可以指定default
key in dict dict中包含key則返回True羡亩,否則False
dict.items() 返回一個(gè)序列,每一個(gè)元素為key-value危融,可以轉(zhuǎn)換為set畏铆、tuple、list
dict.keys() 返回一個(gè)序列吉殃,每一個(gè)元素為key辞居,可以轉(zhuǎn)換為set楷怒、tuple、list
dict.setdeault(key[,default]) 與get類似瓦灶,但是如果key不存在與dict中鸠删,添加key進(jìn)入字典dict,default默認(rèn)為None贼陶,可以自定義
dict.update(dict1) 把dict1對(duì)應(yīng)的key-value添加到dict刃泡,并更新原有的值
dict.values() 返回一個(gè)序列,每一個(gè)元素為value碉怔,可以轉(zhuǎn)換為set烘贴、tuple、list
dcit.pop(key[,default]) 刪除key對(duì)應(yīng)的值撮胧,返回值為value桨踪,如果不存在,返回default芹啥,默認(rèn)為None
dict.popitem() 返回一個(gè)鍵值對(duì)(key,value)形式馒闷,按照 LIFO(Last In First Out 后進(jìn)先出法) 順序規(guī)則,即最末尾的鍵值對(duì)
list1 = [1,2,3,4]

print(dict2.fromkeys(list1)) # {1: None, 2: None, 3: None, 4: None}
print(dict1.items())  #dict_items([('1', '一'), ('2', 'er'), ('3', 'san')])
print(dict1.keys())  #dict_keys(['1', '2', '3'])

集合

tips:初始化集合不能用{}叁征,只能通過(guò)set()

a = set('asdfghjkl')
b = set('abcdefghi')
print(a)  #{'a', 'g', 'h', 'j', 'f', 'l', 's', 'k', 'd'}
print(b)  #{'c', 'a', 'g', 'h', 'b', 'e', 'f', 'i', 'd'}

print(a - b)  # a和b的差集  {'s', 'k', 'l', 'j'}
print(a | b)  # a和b的合集  {'k', 'l', 'd', 'e', 'h', 'f', 'i', 'c', 's', 'b', 'j', 'a', 'g'}
print(a & b)  # a和b的交集  {'d', 'h', 'f', 'a', 'g'}
print(a ^ b)  # a和b的全集和交集的差集  {'k', 'l', 'e', 'j', 'i', 's', 'b', 'c'}

## 集合推導(dǎo)式(Set comprehension)
set1 = {x for x in 'aadasfdsf' if x not in 'abc'}
print(set1)  #{'d', 's', 'f'}


## 集合添加元素
set.add(obj)  #如果元素已存在纳账,不進(jìn)行任何操作
set.update(obj) #參數(shù)可以是列表,元組捺疼,字典等

## 移除元素
set.remove(obj) # set中不存在元素疏虫,報(bào)錯(cuò)
set.discard(obj) #set中不存在元素,不報(bào)錯(cuò)
set.pop() #隨機(jī)刪除一個(gè)set元素

## 元素個(gè)數(shù)
len(set)

## 清空
set.clear()

##判斷元素是否存在
value in set # value在set中返回True啤呼,否則False
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卧秘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子官扣,更是在濱河造成了極大的恐慌翅敌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惕蹄,死亡現(xiàn)場(chǎng)離奇詭異蚯涮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)卖陵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門遭顶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人泪蔫,你說(shuō)我怎么就攤上這事棒旗。” “怎么了撩荣?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵铣揉,是天一觀的道長(zhǎng)饶深。 經(jīng)常有香客問(wèn)我,道長(zhǎng)逛拱,這世上最難降的妖魔是什么粥喜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮橘券,結(jié)果婚禮上额湘,老公的妹妹穿的比我還像新娘。我一直安慰自己旁舰,他們只是感情好锋华,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著箭窜,像睡著了一般毯焕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上磺樱,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天纳猫,我揣著相機(jī)與錄音,去河邊找鬼竹捉。 笑死芜辕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的块差。 我是一名探鬼主播侵续,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼憨闰!你這毒婦竟也來(lái)了状蜗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鹉动,失蹤者是張志新(化名)和其女友劉穎轧坎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泽示,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缸血,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了边琉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片属百。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡记劝,死狀恐怖变姨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厌丑,我是刑警寧澤定欧,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布渔呵,位于F島的核電站,受9級(jí)特大地震影響砍鸠,放射性物質(zhì)發(fā)生泄漏扩氢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一爷辱、第九天 我趴在偏房一處隱蔽的房頂上張望录豺。 院中可真熱鬧,春花似錦饭弓、人聲如沸双饥。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咏花。三九已至,卻和暖如春阀趴,著一層夾襖步出監(jiān)牢的瞬間昏翰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工刘急, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棚菊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓叔汁,卻偏偏與公主長(zhǎng)得像窍株,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子攻柠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354