python字典增删改查项目_python基础-字典的增删改查

本文详细介绍了Python字典的四种创建方式,并讨论了可变与不可变数据类型的区别。字典的键必须是不可变类型,如尝试使用列表作为键会导致错误。此外,文中展示了字典的增、删、改、查操作,包括`setdefault`方法的使用,以及如何处理不存在的键。最后,通过实例演示了字典操作的关键步骤。
摘要由CSDN通过智能技术生成

字典

字典的创建方式:

# 方式一:

dict1 = dict((("one", 1), ("two", 2), ("three", 3)))

print(dict1) # {'one': 1, 'two': 2, 'three': 3}

# 方式二:

dict2 = dict(one = 1, two = 2, three = 3)

print(dict2) # {'one': 1, 'two': 2, 'three': 3}

# 方式三:

dict3 = {"one":1, "two":2, "three":3}

print(dict3)

# 方式四:

dict4 = dict({"one":1, "two":2, "three":3})

print(dict4)

可变、不可变数据类型:可变数据类型:list,dict,set

不可变数据类型:int bool str tuple

# 字典的键必须是不可变数据类型

dict5 = {[1,2,3]:12, 1:"lisi"}

print(dict5) # TypeError: unhashable type: 'list'

字典的键必须唯一:

# 字典的键必须唯一 否则后边键的值会把前边同名键的值覆盖掉

dict6 = {1:1, 1:2, 2:3}

print(dict6) # {1: 2, 2: 3}

dict7 = {"name":"张三", "age":18}

dict7["sex"] = "男" # 有则改,无则加

dict7["name"] = "李四" # {'name': '李四', 'age': 18, 'sex': '男'}

print(dict7) # {'name': '张三', 'age': 18, 'sex': '男'}

# 设置默认值 setdefault 有则不变,无则增加

dict7.setdefault("hobby") # 不设置值,默认为None

print(dict7) # {'name': '李四', 'age': 18, 'sex': '男', 'hobby': None}

dict7.setdefault("hobby", "球类运动") # 有则不变

print(dict7) # {'name': '李四', 'age': 18, 'sex': '男', 'hobby': None}

# pop 根据字典的键删除数据,没有指定的键则报错

dict7.pop("hobby")

print(dict7) # {'name': '李四', 'age': 18, 'sex': '男'}

# 删除不存在的键报错

dict7.pop("hobby")

print(dict7) # KeyError: 'hobby'

ret = dict7.pop("hobby", "没有此键")

print(ret) # 没有此键

# clear 清空

dict7.clear()

print(dict7) # {}

# del

del dict7["name"]

print(dict7)

# 删除不存在键报错

del dict7["name"]

print(dict7) # KeyError: 'name'

改 直接给相应的键赋值

dict8 = {"name":"张三", "age":18}

dict8["name"] = "李四"

print(dict8) # {'name': '李四', 'age': 18}

dict8 = {"name":"张三", "age":18}

l1 = dict8.get("name")

print(l1) # 张三

# 想要获取的键不存在,使用get不会报错,默认返回None

l2 = dict8.get("sex")

print(l2) # None

# 指定没有相应键时的返回值

l3 =dict8.get("sex", "没有获取到")

print(l3) # 没有获取到

# keys

keys = dict8.keys()

print(keys) # dict_keys(['name', 'age'])

print(list(keys)) # ['name', 'age']

# 获取字典的key

for key in dict8.keys():

print(key)

# 获取字典的value

for value in dict8.values():

print(value)

for i in dict8.items():

print(i) # 以key,value的形式放在元组中('age', 18)

# 通过元组拆包获取key,value

for key, value in dict8.items():

print(key,value)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值