字典dict

类似于新华字典,有目录,有内容
特点:{}
格式:{key1:value1, key2:value2, key3:value3...}

创建空字典

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = dict()
dict2 = {}
print(dict1)
print(dict2)

创建带元素的字典

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print(dict1)

根据key访问value

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print(dict1['name'])
# key不存在则报错
# print(dict1['my_name'])

# 推荐写法
print(dict1.get("my_name", "字典不存在"))

修改/添加元素

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print("修改前", dict1)
dict1['name'] = "李四"
print("修改后", dict1)
print("修改前", dict1)
dict1['address'] = "河南郑州"
print("修改后", dict1)
# 如果key不存在则表示添加
# 如果key存在则表示修改

删除元素

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print("删除前", dict1)
del dict1['name']
print("删除后", dict1)
print("清空前", dict1)
dict1.clear()
print("清空后", dict1)
print("删除字典前", dict1)
del dict1
# 删除后不可访问,会报错
# print("删除字典后", dict1)

列表常用操作

len

测量字典中,键值对的个数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print(len(dict1))

keys

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print(dict1.keys())

values

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print(dict1.values())

items

返回一个包含所有(键,值)元祖的列表
#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
print(dict1.items())

遍历字典

#!/usr/bin/env python
# -*- coding:utf-8 -*-
dict1 = {
    "name": "张三",
    "age": 20,
    "sex": True,
    "height": 1.78
}
for key, value in dict1.items():
    print(key, value)

results matching ""

    No results matching ""