1. 程式人生 > >【python】列表/元組/字典/集合

【python】列表/元組/字典/集合

列表/元組/字典/集合

列表

>>>classmates = ['A', 'B', 'C']

>>>len(classmates)
3

索引進行訪問
>>>classmates[0]
'A'
>>>classmates[1]
'B'
>>>classmates[2]
'C'

倒數索引
>>>classmates[-1]
'C'
>>>classmates[-2]
'B'

新增元素
>>>classmates.append('D') 追加

>>>classmates.insert(1, 'E') 插入
 ['A', 'E', 'B', 'C', 'D']

刪除元素
>>>classmates.pop() 從列表中刪除最後一個元素並返回

>>>classmates.pop(1) 刪除索引為1的元素

替換元素的值:直接給對應索引賦值

列表可切片
>>> a=[1,2,3,4]
>>> a[:3]
[1, 2, 3]
>>>

元組

元組和列表非常類似,但一經建立,無法修改

>>>classmates = ('A', 'B', 'C')
沒有append,insert,pop等方法

只有1個元素的tuple定義時必須加一個逗號,,來消除歧義:
>>> t = (1,)
>>> t
(1,)

同樣可以索引取值和切片

字典

鍵值對儲存資料

score = {'A':100, 'B':90, 'C':80}

判斷key是否存在
>>>'A' in score
True
或者
>>>'A' in score.keys()
True

判斷值是否存在
>>>'A' in score.values()
False

刪除鍵值對資料
>>>score.pop('A')
100

集合

set和dict類似,也是一組key的集合,但不儲存value。

由於key不能重複,所以在set中,沒有重複的key。

要建立一個set,需要提供一個list作為輸入集合:
>>> s = set([1, 2, 3,3, 4])
>>> s
{1, 2, 3, 4}
重複元素在set中自動被過濾

>>> s = set('apple')
>>> s
{'a', 'p', 'l', 'e'}

新增元素add(key)
可以使用 discard(key) 和 remove(key) 方法刪除集合中特定的元素
如果集合中不存在指定的元素,使用discard()保持不變;
但在這種情況下,remove()會引發KeyError。

set可以看成數學意義上的無序和無重複元素的集合,
因此,兩個set可以做數學意義上的交集、並集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
>>> s1 - s2
{1}
>>> s1^s2
{1, 4}

不可變集合

可以使用函式 frozenset() 建立 frozenset。

>>> s = frozenset('Python')
>>> type(s)
<class 'frozenset'>

元組是不可變的列表,frozenset 是不可變的集合。