Python中幾種資料結構的整理,列表、字典、元組、集合
列表:shoplist = ['apple', 'mango', 'carrot', 'banana']
字典:di = {'a':123,'b':'something'}
集合:jihe = {'apple','pear','apple'}
元組: t = 123,456,'hello'
1.列表
空列表:a=[]
函式方法:a.append(3) >>>[3]
a.extend([3,4,5]) >>>[3,3,4,5] 新增一個列表序列
a.insert(1,'hello') >>>[3,'hello',3,4,5]
a.remove(3) >>>['hello',3,4,5] 刪除第一個出現的3,沒有3則報錯
a.pop() >>>['hello',3,4]
a.pop(0) >>>[3,4]
a.index(4) >>>1 返回出現的第一個4的下標
a.count(3) >>>1 列表中元素3的個數
a.sort >>>[3,4] 排序
a.reverse() >>>[4,3] 反序
刪除元素的方法
a.remove(3) 通過值刪除元素,刪除第一個為引數值得元素
a.pop() 通過下標刪除元素,預設刪除列表最後一個值,帶引數則刪除下標為引數值的元素
del a[0] 通過下標刪除元素,
del a[2:4] 刪除a表下標為2,3的元素
del a[:] 刪除a列表所有元素
del a 刪除列表
列表推導式:
vec = [2,4,6]
[3*x for x in vec if x<6] >>>[6,12] 3*2,3*4
vec2 = [1,2,3]
[x*y for x in vec for y in vec2] >>>[2,4,6,4,8,12,6,12,18]
巢狀列表推導式:
mat = [
[1,2,3],
[4,5,6],
[7,8,9]
]
print ([[row[i] for row in mat] for i in [0,1,2]])
>>>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
思考:list (zip(mat)) 和 list (zip(*mat))結果會有什麼不同
2.元組
空元組:t = ()
元組賦值: t = (123,345)
t[0] >>>123
3.字典
d = {'Jack':'jack@mail.com','Tom':'Tom@main.com'}
d['Jack'] >>>'jack@mail.com
d['Jim'] = 'Jim@sin.com' >>>{'Jim': 'Jim@sin.com', 'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
del d['Jim'] >>>{'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
list(d.keys()) 將返回一個字典中所有關鍵字組成的無序列表
sorted(d.keys()) 將返回一個字典中所有關鍵字組成的排序列表
dict() 建構函式可以直接從key-value對中建立字典
dict([('Tim',123),('Tiny',234)]) >>>{'Tiny': 234, 'Tim': 123}
推導式建立字典:
{d2:d2+'@main.com' for d2 in list(d.keys())}
>>>{'Jack': 'Jack@main.com', 'Tom': 'Tom@main.com'}
練習:迴圈輸出字典中的鍵值對:
for name,email in d.items():
print(name,email)
4.集合
空集合:A = set() ※想要建立空集合,必須使用set()
演示:
basket = {'apple','orange','apple'} >>>{'orange', 'apple'} 注意重複的元素只顯示一個?
'apple' in basket >>>True
'pear' in basket >>>False
集合的數學運算:
a = set('ababcdabca') >>>{'c', 'b', 'a', 'd'}
b = {'a','b','m'} >>>{'b', 'a', 'm'}
a - b >>>{'c', 'd'}
b - a >>>{'m'}
a | b >>>{'c', 'd', 'b', 'a', 'm'}
a & b >>>{'a','b'}
a ^ b >>>{'c','d','m'}
集合推導式:
{x for x in a if x not in 'ab'} >>>{'c','d'}
相關文章
- 【Python_029】內建資料結構,列表 | 字典 | 集合 | 元組Python資料結構
- python_列表——元組——字典——集合Python
- Python3組合資料型別(元組、列表、集合、字典)語法Python資料型別
- Python 列表、元組、字典及集合操作詳解Python
- 三、python的資料型別 列表、元組、字典Python資料型別
- Python列表、元組、字典使用Python
- Python中列表、元組、字典、集合與字串,相關函式,持續更新中……Python字串函式
- python如何返回元組,列表或字典的?Python
- 3-python 元組 字典 集合的操作Python
- Python列表、元組、集合、字典的區別是什麼?入門知識!Python
- 【美妙的Python之五】變數:列表、元組、元字典Python變數
- Python元組、列表、集合及列表去重操作Python
- python資料結構元組tuplePython資料結構
- Python中列表、元組、字典有何區別?Python學習!Python
- 內建資料結構集合和字典資料結構
- Python學習筆記8——列表、字典、元組Python筆記
- python自學第三天(-)-列表、元組、字典Python
- Python基礎知識七 元組&字典&集合Python
- Python 入門學習 -----變數及基礎型別(元組,列表,字典,集合)Python變數型別
- python資料型別 列表+元組Python資料型別
- 幾種常見的Python資料結構Python資料結構
- Python資料結構:字典Python資料結構
- 字典,元組,集合的增刪改查
- 微課|玩轉Python輕鬆過二級(2.1.4節):列表、元組、字典、集合概述Python
- JavaScript中的幾種資料結構簡介JavaScript資料結構
- 【Python】資料結構之字典Python資料結構
- (python)資料結構——列表Python資料結構
- python元組、列表的異同總結Python
- Python基礎語法2 元組 & 字典 & 選擇結構Python
- (python)資料結構—集合Python資料結構
- Python中的三種資料結構Python資料結構
- Python的元組()與字典{}Python
- Python的元組()與字典 { }Python
- 2.1.3 CDB中的資料字典結構
- 如何在列表,字典,集合中根據條件篩選資料
- Python中元組,列表,字典的區別Python
- python字典和結構化資料Python
- 總結python 元組和列表的區別Python