Python基本數據類型之容器(列表、元組、集合、字典)


Python基礎數據類型可以用一張圖表示,這里只講列表、元組、集合、字典四種。

1、列表

dir()用來查詢一個類或者對象所有屬性,可以查列表支持的功能:

1)創建列表:

>>> a=[1,2,3,4,5,6]
>>> a
[1, 2, 3, 4, 5, 6]
>>> type(a)
<class 'list'>

2)訪問列表與切片:

>>> print(a)
[1, 2, 3, 4, 5, 6]
>>> a[0]
1
>>> a[0:3]
[1, 2, 3]
>>> a[:-2]
[1, 2, 3, 4]
>>> a[0]=999
>>> a
[999, 2, 3, 4, 5, 6]

3)更新列表

直接加,把兩個列表合並成一個。

>>> b=['a', 'b','c']
>>> b
['a', 'b', 'c']
>>> c=a+b
>>> c
[999, 2, 3, 4, 5, 6, 'a', 'b', 'c']
>>> a.append([11,22])
>>> a
[999, 2, 3, 4, 5, 6, [11, 22]]

可見append()的參數被視為對象,將所有的參數視為一個列表元素插入到列表尾部。

如果把兩個列表連接為1個列表,可以使用extend。extend()會將傳入的參數視為列表,並將該列表的每個元素一一逐個插入到原列表尾部。

>>> a
[999, 2, 3, 4, 5, 6]
>>> a.extend(b)
>>> a
[999, 2, 3, 4, 5, 6, 'a', 'b', 'c']
4)插入數據
>>> a=[1,2,3,4]
>>> a
[1, 2, 3, 4]
>>> a.insert(2,'a')
>>> a
[1, 2, 'a', 3, 4]
>>> a.insert(2,['c',"hello"])
>>> a
[1, 2, ['c', 'hello'], 'a', 3, 4]

2、元組

元組和列表類似,但是元組的元素不能添加,不能刪除,不能修改,只能查詢。

列表使用方括號,元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。元組中只包含一個元素時,需要在元素后面添加逗號來消除歧義。

>>> t=(1)
>>> t
1
>>> type(t)
<class 'int'>
>>> t2=(1,)
>>> t2
(1,)
>>> type(t2)
<class 'tuple'>

元組中的元素不能改變,但是可以組合元祖為新的元組。

>>> a=(1,2)
>>> b=('c','d')
>>> c=a+b
>>> c
(1, 2, 'c', 'd')

元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個元組.

>>> b
('c', 'd')
>>> del b
>>> b
Traceback (most recent call last):
  File "<pyshell#197>", line 1, in <module>
    b
NameError: name 'b' is not defined

3、集合

集合(set)是一個無序的不重復元素序列。集合是無序的存儲結構,集合內的數據沒有先后關系。可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。

>>> a={1,2}
>>> a
{1, 2}
>>> type(a)
<class 'set'>
>>> b={}
>>> type(b)
<class 'dict'>

將元素 x 添加到集合 a 中,如果元素已存在,則不進行任何操作。

>>> a
{1, 2}
>>> a.add(1)
>>> a
{1, 2}

集合支持交集、並集、補集、子集、超集計算。

>>> a={1,2,3}
>>> b={1,2,4,5}
>>> a & b
{1, 2}
>>> a|b
{1, 2, 3, 4, 5}
>>> a-b
{3}
>>>
>>> a
{1, 2, 3}
>>> c
{1, 2}
>>> c<a
True
>>> a>c
True

4、字典

Python字典是另一種可變容器模型,且可存儲任意類型對象。字典由鍵和其對應的值構成的鍵—值對組成,基本語法為:

>>> d={'A':10, 'B':11}
>>> d
{'A': 10, 'B': 11}
>>> type(d)
<class 'dict'>

字典的增刪改查:

>>> a
{0: 1, 'b': 2, 'name': 'Jonh'}
>>> a.pop(0)
1
>>> a
{'b': 2, 'name': 'Jonh'}
>>> a.pop("name")
'Jonh'
>>> a
{'b': 2}

字典的特點:

1)key不能重復,否則第二個值覆蓋第一個

>>> d={1:1,1:2, 2:3, 3:4}
>>> d
{1: 2, 2: 3, 3: 4}

2)key不可變,值可變。鍵可以用數、字符串、元組充當,但不能是列表。

>>> a={[a]:1}
Traceback (most recent call last):
  File "<pyshell#325>", line 1, in <module>
    a={[a]:1}
TypeError: unhashable type: 'list'
>>> a={"dfaf":1}
>>> a
>>> a={"dfaf":1}
>>> a
{'dfaf': 1}
>>> b={(1):2}
>>> b
{1: 2}
>>> type(b)
<class 'dict'>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM