字典和集合
字典
与列表的区别:字典通过键来存取,而不是通过偏移
任意对象的引用的集合
可变,异构,任意嵌套
对象引用表(哈希表-快速检索)
In [40]: d={"name":'hk','age':22}
In [41]: d['name']
Out[41]: 'hk'
In [43]: d['sex']="1"
In [44]: d
Out[44]: {'age': 22, 'name': 'hk', 'sex': '1'}
In [49]: for k in d:
...: print(k,d[k])
...:
name hk
age 22
sex 1
In [50]: 'name' in d
Out[50]: True
In [59]: d1=d
In [60]: d1
Out[60]: {'age': 22, 'name': 'hk', 'sex': 0}
In [61]: d1["age"]=28
In [62]: d
Out[62]: {'age': 28, 'name': 'hk', 'sex': 0}
In [63]: d1
Out[63]: {'age': 28, 'name': 'hk', 'sex': 0}
In [64]: d2=d1.copy()
In [65]: d2
Out[65]: {'age': 28, 'name': 'hk', 'sex': 0}
In [66]: d2['age']=18
In [67]: d2
Out[67]: {'age': 18, 'name': 'hk', 'sex': 0}
In [68]: d1
Out[68]: {'age': 28, 'name': 'hk', 'sex': 0}
In [73]: dd=d.items()
In [74]: dd
Out[74]: dict_items([('name', 'hk'), ('age', 28), ('sex', 0)])
In [75]: type(dd)
Out[75]: dict_items
In [76]: for i in dd:
...: print(i)
...:
('name', 'hk')
('age', 28)
('sex', 0)
In [77]: for k,v in dd:
...: print(k,'---',v)
...:
name --- hk
age --- 28
sex --- 0
In [82]: for k,v in [("a",1),("b",2)]:
...: print(k,v)
...:
a 1
b 2
In [87]: a=1+2
In [88]: a
Out[88]: 3
In [89]: a='1+2'
In [90]: a
Out[90]: '1+2'
In [91]: d
Out[91]: {'age': 28, 'name': 'hk', 'sex': 0}
In [92]: d.get("age")
Out[92]: 28
In [93]: d.get("aaa")
In [94]: d['aaa']
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-94-59fb3eff4185> in <module>()
----> 1 d['aaa']
KeyError: 'aaa'
In [95]: d.get("aaa",'nono')
Out[95]: 'nono'
集合
交集,并集,补集
In [99]: x Out[99]: {'a', 'b', 'c'} In [100]: y Out[100]: {'c', 'd', 'e'} In [101]: x&y Out[101]: {'c'} In [102]: x|y Out[102]: {'a', 'b', 'c', 'd', 'e'} In [103]: x-y Out[103]: {'a', 'b'} In [104]: x=set("abc") In [105]: x Out[105]: {'a', 'b', 'c'} In [106]: y=set("cde") In [107]: y Out[107]: {'c', 'd', 'e'}

浙公网安备 33010602011771号