速查表

编号 函数 说明
0 dict[key] 取值
1 get 取值,可以设置默认值
2 dict['company'] = xxx 增加
3 dict['company'] = xxx 修改
4 update 增加或修改
5 del 使用指定的 key 删除
6 pop 使用指定的 key 删除
7 popitem 删除最后一项
8 clear 清空
9 keys 返回一个列表,包含所有的 key
10 values 返回一个列表,包含所有的 value
11 items 返回一个列表,包含所有的 (键,值)元组

定义

dict = {
    "name": "东哥",
    "sex": "男",
    "age": "就不告诉你"
}

print(dict["name"])

字典类似于 JavaScript 中的 Object

字典与列表的区别是:

  • 字典和列表一样,也能够存储多个数据
  • 列表中找某个元素时,是根据下标进行的。而字典中找某个元素时,是根据 key(例如代码中的 namesex
  • 字典的每个元素由两部分组成,键:值

遍历

for key in dict.keys():
    print(key)

for value in dict.values():
    print(value)

for item in dict.items():
    print(item)

for key, value in dict.items():
    print("key=%s,value=%s" % (key, value))

for key in dict:
    print("key=%s,value=%s" % (key, dict[key]))

带下标的遍历

i = 0
for key in dict:
    print("%d %s" % (i, key))
    i += 1

另一种简便方法是使用 enumerate()

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

for i, key in enumerate(dict):
    print(i, key)

字典的相关操作

1. get

说明:在字典中取值。如果不存在,可以设置默认值

示例:

print(dict["company"])      # 不存在会报异常
print(dict.get("company"))  # 不存在返回空   

print(dict.get("name"))     
print(dict.get("company", "长乐未央公司"))

2. 增加

示例:

dict['company'] = "长乐未央公司"
print(dict)

3. 修改

示例:

dict['company'] = "武汉长乐未央网络科技公司"
print(dict)

4. update

说明:可以实现修改或新增操作,注意,key 不要加引号

示例:

dict.update(company="长乐未央公司")
print(dict)

# 可以是多个值
dict.update(company="长乐未央公司", hobby="coding")
print(dict)

# 实现修改
dict.update(name="皮皮")
print(dict)

5. del

说明:使用指定的 key,删除字典中对应的数据

示例:

del dict['name']
print(dict)

6. pop

说明:使用指定的 key,删除字典中对应的数据

示例:

dict.pop('name')
print(dict)

7. popitem

说明:删除字典最后一项

示例:

dict.popitem()
print(dict)

8. clear

说明: 清空字典

示例:

dict.clear
print(dict)

9. keys

说明:返回一个列表,包含字典中所有的 key

示例:

print(dict.keys())

10. values

说明:返回一个列表,包含字典中所有的 value

示例:

print(dict.values())

11. items

说明:返回一个列表,包含字典中所有的 (键,值)元组

示例:

print(dict.items())