Python - tuple, list, dict, set
tuple(元組)
- 長相:
tup1 = (1, 2, 3, 4, 5)
或tup2 = 1, 2, 3, 4, 5
。 - 特性:值不可改。
- 連接:tuple 間可連接
tup3 = tup1 + tup2
list(列表):類似 JavaScript 的 Array
- 長相:
list1 = [1, 2, 3, 4, 5]
。 - 特性:值可改,可排序,遞增
list1.sort()
;遞減list1.reverse()
。 - 增: 增值到最後
list1.append(6)
;增值到指定位置list1.insert(0, 0)
。 - 刪: 刪最後的值
list1.pop()
;刪特定值list1.remove(0)
。
dict(字典):類似 JavaScript 的 Object
- 長相:
dict = { 'name': 'Mike', 'gender': 'male'}
。 - 特性:
{key: value}
key 是唯一,不可重複; value 可改。 - 增:
dict['age'] = 33
。 - 刪:
del dict['age']
或dict.pop('age')
。 - 取 keys/ values:
dict.keys()
,dict.values()
,可用list(dict.keys())
轉換為列表。 - 複製:
dict2 = dict.copy()
。 - 取值:
dict['age']
或dict.get('age')
,後者就算無該 key 也不會報錯。
set(集合)
- 長相:
set1 = {1, 2, 3, 4, 5}
。 - 特性:值不可重複、不可改,會自動移除重複值,set 之間可運算。
- 增:
set1.add(6)
。 - 刪:
set1.remove(6)
或set1.discard(6)
,若無該值 discard 不會報錯。 - 交集聯集運算。
# 創建 set1
set1 = {1, 2, 3, 4, 5}
# 創建 set2,讓其每個元素是 set1 的 2 倍
for x in set1: set2.add(x * 2) # set2 = {2, 4, 6, 8, 10}
# 交集
set1 & set2 #{2, 4}
# set1 移除交集
set1 - set2
# 聯集
set1 | set2
# 聯集後移除交集
set1 ^ set2