Python中列表、字典、元組、集合資料結構整理

來源:互聯網
上載者:User
本文詳細歸納整理了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程式設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.