python常用數據結構

一参咙、列表

1蛙埂、定義

  • python中可以通過組合一些值得到多種復合數據類型
  • 列表是其中最常見的數據結構
  • 列表通過方括號括起矗钟、逗號分隔的一組值得到
  • 一個列表可以包含不同類型的元素芋簿,但通常使用時各個元素類型相同

2罢低、列表的特性

  • list.append(x):在列表的尾部添加一個元素贪薪,相當于a[len(a):]=[x]
list1 = []
for i in range(0, 10, 2):
    list1.append(i)

print(list1)
  • list.insert(i,x):在給定的位置插入一個元素媳禁。第一個元素。第一個參數是要插入的元素的索引画切,以a.insert(0,x)插入列表頭部损话,a.insert(len(a),x)等同與a.append(x)
list1 = [1, 2, 3, 4, 5, 6]
list1.insert(1, 2)
print(list1)

打印出:

[1, 2, 2, 3, 4, 5, 6]
  • list.remove(x):移除列表中第一個值為x的元素。如果沒有這樣的元素槽唾,則拋出ValueError異常丧枪。
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list1.remove(2)
print(list1)
  • list.pop([i]):刪除列表中給定位置的元素并返回它,如果沒有給定位置庞萍,a.pop()將會刪除并返回列表中的最后一個元素
list1 = [1, 2, 3, 4, 5, 6]
y = list1.pop(1)
print(list1)
print(y)

打印出

[1, 3, 4, 5, 6]
  • list.sort(key=None,reverse=False):對列表中的元素進行排序(參數可用于自定義排序拧烦,解釋請參見sorted())
list1 = [3, 6, 8, 9, 5, 1, 2, 7, 4]
list1.sort()
print(list1)
  • list.reverse():反轉列表中的元素
list1 = [3, 6, 8, 9, 5, 1, 2, 7, 4]
list1.reverse()
print(list1)
  • list.clear()刪除列表中所有的元素,相當于del a[:]
list1 = [3, 6, 8, 9, 5, 1, 2, 7, 4]
list1.clear()
# del list1[:]
print(list1)
  • list.extend(iterable):使用可迭代對象中的所有元素來擴展列表钝计,相當于a[len(a):]=iterable

  • list.count(x):返回元素x在列表中出現(xiàn)的次數

list1 = [1, 2, 3, 4, 5, 6, 1, 1]
print(list1.count(1))

3恋博、列表推導式

  • 概念:
    列表推導式提供了一個更簡單導創(chuàng)建列表的方法齐佳。常見的用法式把某種操作應用于序列可迭代對象的每個元素上,然后使用氣結構來創(chuàng)建列表债沮,或者通過滿足某些特定條件元素來創(chuàng)建子序列
  • 練習:
    如果我們想生成一個平方列表炼吴,比如[1,4,9...],使用for循環(huán)應該怎么寫,使用列表生成式又應該怎么寫
#for循環(huán)
list1 = []
for i in range(1, 10):
    a = i**2
    list1.append(a)
print(list1)
#列表生成式
list1 = [i ** 2 for i in range(1, 10)]
print(list1)

二疫衩、元組

1硅蹦、定義

  • 元素使用()進行定義
  • tuple、list闷煤、range都是序列數據類型
  • 元組是不可變的童芹,可以通過解包、索引來訪問
# 元組的定義
tuple1 = (1, 2, 3)
tuple2 = 1, 2, 3

print(type(tuple1), type(tuple2))

打印出(不加()也是元組)

<class 'tuple'> <class 'tuple'>

2鲤拿、集合

  • 集合是由不重復元素組成的無序的集
  • 它的基本用法包括成員檢測金額消除重復元素
  • 可以使用{}或者set()函數創(chuàng)建集合
  • 要創(chuàng)建一個空集合只能用set()而不能用{}
# 集合定義
a = {1}
b = set()
print(type(a))
print(type(b))
print(len(b))
# 集合并集
a = {1, 2, 3}
b = {1, 4, 5}
print(a.union(b))
# 集合交集
a = {1, 2, 3}
b = {1, 4, 5}
print(a.intersection(b))
# 去重
a = 'aajshdajghagdqbwhdgh'
print(set(a))

打印出
{'a', 'd', 'g', 'q', 'b', 'h', 'w', 'j', 's'}

三假褪、字典

1、定義

  • 字典是以【關鍵字】為索引
  • 關鍵字可以是任意不可變類型近顷,通常是字符串或者數字生音,如果一個只包含字符串、數字或元組窒升,那么這個元組也可以用作關鍵字
# 字典
dict1 = {'a': 1, 'b': 2}
dict2 = dict(a=1, b=2)
print(type(dict1), type(dict2))

2久锥、常用函數

dict1 = {'a': 1, 'b': 2}
# 刪除指定鍵值對
dict1.pop('a')
print(dict1)
dict1 = {'a': 1, 'b': 2}
# 隨機刪除鍵值對
dict1.popitem()
print(dict1)
# 傳入keys
dict1 = {}
dict2 = dict1.fromkeys(['a', 'b', 'c'], 1)
print(dict2)

3、字典推導式

# 字典推導式
print({i: i * 2 for i in range(1, 4)})

打印出 
{1: 2, 2: 4, 3: 6}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末异剥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子絮重,更是在濱河造成了極大的恐慌冤寿,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件青伤,死亡現(xiàn)場離奇詭異督怜,居然都是意外死亡,警方通過查閱死者的電腦和手機狠角,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門号杠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丰歌,你說我怎么就攤上這事姨蟋。” “怎么了立帖?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵眼溶,是天一觀的道長。 經常有香客問我晓勇,道長堂飞,這世上最難降的妖魔是什么灌旧? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮绰筛,結果婚禮上枢泰,老公的妹妹穿的比我還像新娘。我一直安慰自己铝噩,他們只是感情好衡蚂,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著薄榛,像睡著了一般讳窟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敞恋,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天丽啡,我揣著相機與錄音,去河邊找鬼硬猫。 笑死补箍,一個胖子當著我的面吹牛,可吹牛的內容都是我干的啸蜜。 我是一名探鬼主播坑雅,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衬横!你這毒婦竟也來了裹粤?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蜂林,失蹤者是張志新(化名)和其女友劉穎遥诉,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體噪叙,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡矮锈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了睁蕾。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苞笨。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖子眶,靈堂內的尸體忽然破棺而出瀑凝,到底是詐尸還是另有隱情,我是刑警寧澤臭杰,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布猜丹,位于F島的核電站,受9級特大地震影響硅卢,放射性物質發(fā)生泄漏射窒。R本人自食惡果不足惜藏杖,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脉顿。 院中可真熱鬧蝌麸,春花似錦、人聲如沸艾疟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔽莱。三九已至弟疆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盗冷,已是汗流浹背怠苔。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仪糖,地道東北人柑司。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像锅劝,于是被迫代替她去往敵國和親攒驰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容