元组
不可变的列表,不可变对象可以优化
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/