元組
不可變的列表,不可變對象可以優化
tup = ()
tup = (1)
tup is 1
>>>True
tup = (1)
tup
>>>1
tup = (1,)
tup
>>>(1,)
type(tup)
>>>tuple
tup = (1001,1003,"Test")
tup[1]
>>>1003
tup[1] = 1992
tup[1]
>>>報錯
元祖賦值問題
tup = (1,2,[3,4])
tup[2] +=[5,6]
tup
>>>(1,2,[3,4,5,6])
##元祖不可修改,但是裏面的列表則可以修改,內存地址不變
元祖不可刪除 但是可以組合(index切片)
(1,2)+(3,4)
>>>(1,2,3,4)
tup = (1,2,'a',1)
tup.index(1)
>>>0
tup.index(1,2)
>>>3
tup.index(1,1,4)
>>>3
tup.count(1)
>>>2
##獲取數量
##(1)爲元素爲1的索引,(1,2)1的元素從第2個索引開始,(1,1,4)1的元素從第1個索引開始到第4個索引。返回第一個符合值的索引位置
##相當於切片 tup[1:4]?
字典
price_map = {"a":2}
dct = {}
dct[1] = "a"
dct["a"] = 1
dct
>>>{"a":1}
dct.get('a')
>>>1
dct['b']
>>>報錯
dct.get('b',2)
##如果沒有就返回2
dct["a"]=4
dct.update(a=1,b=2,c=3)
dct
>>>dct{"a":1,"b":2,"c"=3}
"a" in dct
>>>True
del dct["a"]
列表用索引訪問,字典用鍵訪問,列表有順序,字典沒順序
dct.key()
>>>dict_keys(['a','c'])
dct.values()
>>>dict_values([1,2])
dct.item()
dict_items([("a",1),("c",2)])
集合
{1,3,2,1}
>>>{1,2,3}
#集合沒有重複 有序嗎?
set([1,3,2,1])
>>>{1,2,3}
list({1,3,2,1})
>>>[1,2,3]
##執行一次列表操作
s = set()
s
>>>set()
s.add(1)
s
>>>{1}
s.update([2,3])
s
>>>{1,2,3}
s.update([3,4])
s
>>>{1,2,3,4}
s.remove(4)
>>>{1,2,3}
s.remove(4)
s
>>>報錯
s.discard(4)
>>>不報錯
##集合無序
issubset/issuperset 判斷超集和子集關係
set([1]).issubset(set([1,2]))
>>>True
set([1]).issuperset(set([1,2]))
>>>False
set([1,2]).issuperset(set([1]))
>>>True
##交集 並集 補集
s1 = set([1,2,3])
s2 = set([3,4,1])
s1&s2
>>>{1,3}
s1 | s2
>>>{1,2,3,4}
s1-s2
>>>{2,}
s2-s1
>>>{4}
元組擴展閱讀
1. https://docs.python.org/3/library/timeit.html
2. http://t.cn/RnvaZ6j
字典擴展閱讀
1.https://docs.python.org/2/library/collections.htm l#collections.OrderedDict
2.https://developers.google.com/edu/python/dict- files
集合擴展閱讀
1. https://www.geeksforgeeks.org/sets-in-python/