【python】列表/元組/字典/集合
阿新 • • 發佈:2018-12-26
列表/元組/字典/集合
列表
>>>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 是不可變的集合。