a = {"name":"jay","age":18,"dd":[2,3,4]}
a
{'name': 'jay', 'age': 18, 'dd': [2, 3, 4]}
b= dict(name="xiaoxiao",age=18)
b
{'name': 'xiaoxiao', 'age': 18}
c = {}
d = dict()
k = ["a","b","c"]
v = [100,200,300]
d = dict(zip(v,k))
d
{100: 'a', 200: 'b', 300: 'c'}
a = {"name":"jay","age":18,"dd":[2,3,4]}
a["name"]
'jay'
a.get("ddd","不存在")
'不存在'
a.get("dd","不存在")
[2, 3, 4]
a.items()
dict_items([('name', 'jay'), ('age', 18), ('dd', [2, 3, 4])])
a.keys()
dict_keys(['name', 'age', 'dd'])
a.values()
dict_values(['jay', 18, [2, 3, 4]])
a = {"name":"jay","age":18,"dd":[2,3,4]}
a.popitem()
('dd', [2, 3, 4])
a
{'name': 'jay', 'age': 18}
a.popitem()
('age', 18)
a
{'name': 'jay'}
字典对象的核心是散列表。散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做 bucket。每个bucket有两部分︰一个是键对象的引用,一个是值对象的引用。
由于,所有bucket结构和大小一致,我们可以通过偏移量来读取指定bucket。
集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键对象”1,因此是不能重复的且唯一的。像数学中概念一样,Python对集合也提供了并集、交集、差集等运算。
a = {3,5,7}
a
{3, 5, 7}
a.add(9)
a
{9, 3, 5, 7}