-
创建字典
- 格式:用大括号括起来,每一对以:隔开
- 内容:key和value的值随便,数字、字符、列表、集合、元组混合都可以
- 注意:如果key相同,会用新的value覆盖旧的value;这里的key相同指的是要么都是数字,要么都是字符才算相同,比如1和“1”不算相同的
- 举例:
-
>>> D = {1:"a",2:"b",3:'c',"4":5,1:"b"} #这里的 1:"a" 和 1:"b" 是相同的key
>>> D
{1: 'b', 2: 'b', 3: 'c', '4': 5}
-
>>> D = {1:"a",2:"b",3:'c',"4":5,"1":"b"} #这里的 1:"a" 和 “1”:"b" 不是相同的key
>>> D
{1: 'a', 2: 'b', 3: 'c', '4': 5, '1': 'b'}
>>>
-
>>> D ={} #创建空字典
>>> D[1] = "abc"
>>> D[2] = 345
>>> D["name"] = "wys"
>>> D
{1: 'abc', 2: 345, 'name': 'wys'}
>>>
-
-
创建嵌套字典
-
>>> rec = {'name':{"first":"Bob","last":"smith"},"job":[123,456],"age":33}
>>> rec
{'name': {'first': 'Bob', 'last': 'smith'}, 'job': [123, 456], 'age': 33}
>>>
-
嵌套字典访问
-
>>> rec
{'name': {'first': 'Bob', 'last': 'smith'}, 'job': [123, 456], 'age': 33}
>>> rec["name"]["last"]
'smith'
>>> rec["job"][1]
456
-
嵌套字典追加元素
-
>>> rec
{'name': {'first': 'Bob', 'last': 'smith'}, 'job': [123, 456], 'age': 33}
>>> rec["job"].append("abc") #追加元素abc
>>> rec
{'name': {'first': 'Bob', 'last': 'smith'}, 'job': [123, 456, 'abc'], 'age': 33}
>>>
-
释放对象空间
- 直接把对象置为0就行了
>>> rec = 0
>>> rec
0
-
获取字典的键
-
>>> rec = {'a':1,'c':2,100:'a'}
>>> rec.keys()
dict_keys(['a', 'c', 100])
-
字典按key排序
- 前提:所有的key要么是数字、要么是字符串
-
>>> rec = {'f':1,'a':2,'d':'a'}
>>> sorted(rec)
['a', 'd', 'f']>>> for key in sorted(rec):
print(key,"=>",rec[key])
a => 2
d => a
f => 1
- 键是否存在的if判断
- 获取不存在的键会报错
>>> rec
{'f': 1, 'a': 2, 'd': 'a'}
>>> rec["b"]
Traceback (most recent call last):
File "<pyshell#226>", line 1, in <module>
rec["b"]
KeyError: 'b'
>>>
- if判断键是否存在
>>> if 'b' not in rec:
print("missing")
missing
>>>
-
键不存在时赋默认值
-
>>> value = rec.get("b",1) 键不存在时赋默认值1
>>> value
1
-
>>> value=rec["b"] if "b" in rec else 100 键不存在赋值100
>>> value
100
>>> value=rec["a"] if "a" in rec else 100 键存在赋值 rec[“a”]
>>> value
2
>>>
-