Python入门教程 元组&字典&集合

元组

不可变的列表,不可变对象可以优化

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/

你可能感兴趣的:(Python)