栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中字典的基本操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中字典的基本操作

字典的创建 1.直接创建
user = {"name": "bob", "age": 18}
2.使用dict函数
# 1.使用dict函数可以初始化一个字典
a = dict()
print(a)   #{}

# 2.为dict指定关键字参数创建字典
b = dict(name="tom", age=10)
# 注意这里的key都需要写在引号中
print(b) # {'name': 'tom', 'age': 10}

# 3.传入多个列表或元组参数作为 key-value 对
user_info = [('name', 'tom'), ('age', 18), ('sex', 'man')]
user = dict(user_info)
print(user) # {'name': 'tom', 'age': 18, 'sex': 'man'}

car_list = [['BMW', 8.5], ['BENS', 8.3], ['AUDI', 7.9]]
car = dict(cars)
print(car) # {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
字典的增删改查 1.增
# 如果要为 dict 添加 key-value 对,只需为不存在的 key 赋值即可
user = {"name": "tom"}
user["age"] = 18
print(user) # {'name': 'tom', 'age': 18}

# update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。
a = {"name": "tom"}
b = {"age": 18}
a.update(b)
print(a) # {'name': 'tom', 'age': 18}
2.删
# 如果要删除宇典中的 key-value 对,则可使用 del 语句
user = {'name': 'tom', 'age': 18, 'sex': 'man'}
del user["name"]
print(user) # {'age': 18, 'sex': 'man'}

# pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对。
user = {'name': 'tom', 'age': 18, 'sex': 'man'}
name = user.pop("name")
print(name) # tom
print(user) # {'age': 18, 'sex': 'man'}

# popitem() 方法用于弹出字典中的最后一个 key-value 对。(针对python3.6字典有序)
user = {'name': 'tom', 'age': 18, 'sex': 'man'}
user.popitem()
print(user) # {'name': 'tom', 'age': 18}

# clear() 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典
user.clear()
print(user) # {}
3.改
# 如果对 dict 中存在的 key-value 对赋值,新赋的 value 就会覆盖原有的 value,这样即可改变 dict 中的 key-value 对。
user = {'name': 'tom', 'age': 18, 'sex': 'man'}
user["name"] = "bob"
print(user) # {'name': 'bob', 'age': 18, 'sex': 'man'}
4.查
# 基本用法
user = {'name': 'tom', 'age': 18, 'sex': 'man'}
print(user["name"]) # tom

# 若查询的key不在字典中会报错
print(user["address"]) # KeyError: 'address'
# 这个时候我们可以用get方法, 若查不到我们可返还一个默认值
print(user.get("address", "上海")) # 上海


# 如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符。需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。
print("address" in user) # False
print("address" not in user) # True
字典的常用方法 items()、keys()、values()
# items()、keys()、values() 分别用于获取字典中的所有 key-value 对、所有 key、所有 value。
user = {'name': 'tom', 'age': 18, 'sex': 'man'}
for key in user.keys():
    print(key)
# name
# age
# sex

for value in user.values():
    print(value)
# tom
# 18
# man

for key, value in user.items():
    print(key, value)
# name tom
# age 18
# sex man
字典的高级方法 setdefault()方法

setdefault() 方法也用于根据 key 来获取对应 value 的值。但该方法有一个额外的功能,即当程序要获取的 key 在字典中不存在时,该方法会先为这个不存在的 key 设置一个默认的 value,然后再返回该 key 对应的 value。

总之,setdefault() 方法总能返回指定 key 对应的 value;如果该 key-value 对存在,则直接返回该 key 对应的 value;如果该 key-value 对不存在,则先为该 key 设置默认的 value,然后再返回该 key 对应的 value。

user = {'name': 'tom', 'age': 18, 'sex': 'man'}
# 设置默认值,该key在dict中不存在,新增key-value对
print(user.setdefault("address", "bbb")) # bbb
print(user) # {'name': 'tom', 'age': 18, 'sex': 'man', 'address': 'bbb'}
# 设置默认值,该key在dict中存在,不会修改dict内容
print(user.setdefault('name', 'tom')) # tom
print(user) # {'name': 'tom', 'age': 18, 'sex': 'man', 'address': 'bbb'}
fromkeys()方法

fromkeys() 方法使用给定的多个 key 创建字典,这些 key 对应的 value 默认都是 None;也可以额外传入一个参数作为默认的 value。该方法一般不会使用字典对象调用(没什么意义),通常会使用 dict 类直接调用。

# 使用列表创建包含2个key的字典
user = dict.fromkeys(['name', 'age'])
print(user) # {'name': None, 'age': None}
# 使用元组创建包含2个key的字典
user = dict.fromkeys(('name', 'age'))
print(user) # {'name': None, 'age': None}
# 使用元组创建包含2个key的字典,指定默认的value
user = dict.fromkeys(('name', 'age'), 'tom')
print(c_dict) # {'name': 'tom', 'age': 'tom'}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号