您的当前位置:首页>全部文章>文章详情

原创:python数据类型dict详解

发表于:2024-07-02 10:31:24浏览:167次TAG: #python #dict

引言

python数据类型dict详解,本篇文章用dict各种操作带你了解,废话不多说,开干

演示

# """ **********************************
#                 增
# ********************************** """
"""
增加元素
"""
mydict = {"name":"饭真香","gender":"男","hobby":"钓鱼"}
mydict['profile']="是一个python爱好者"
mydict[0]="我是下标0的值"
print(mydict)
# 输出 => {'name': '饭真香', 'gender': '男', 'hobby': '钓鱼', 'profile': '是一个python爱好者', 0: '我是下标0的值'}
"""
合并
当有相同KEY,则会被替换
"""
mydict = {"name":"饭真香","gender":"男","hobby":"钓鱼"}
mydict2 = {"hobby":"编程","profile": "是一个python爱好者"}
mydict.update(mydict2) # 方式1
# mydict = {**mydict,**mydict2} # 方式2,适用于多个dict合并
print(mydict)
# 输出 => {'name': '饭真香', 'gender': '男', 'hobby': '编程', 'profile': '是一个python爱好者'}

# """ **********************************
#                 改
# ********************************** """
mydict = {"name":"饭真香","gender":"男","hobby":"钓鱼"}
mydict['hobby'] = "编程"
print(mydict)
# 输出 => {'name': '饭真香', 'gender': '男', 'hobby': '编程'}

# """ **********************************
#                 查
# ********************************** """
mydict = {"name":"饭真香","gender":"男","hobby":"钓鱼"}
myval = mydict['name']
print(myval)
# 输出 => 饭真香
# 当KEY不存在的时候会报错
# myval = mydict['name2']
# print(myval)
# 输出 => Exception has occurred: KeyError 'name2'
# 可以使用in判断
if 'name2' in mydict:
    print('name2 存在')
else:
    print('name2 不存在')

# 使用get取值不会报错,KEY不存在默认返回None,可追加第2个参数来替换默认返回值None
myval = mydict.get('name2')
print(type(myval),myval)
# 输出 => <class 'NoneType'> None

# 循环查询
for key in mydict:
    print(type(key),key)
    # 输出 => <class 'str'> name
    # 输出 => <class 'str'> gender
    # 输出 => <class 'str'> hobby

# 循环查询(下标和键)
for key,val in enumerate(mydict):
    print(type(key),key,type(val),val)
    # 输出 => <class 'int'> 0 <class 'str'> name
    # 输出 => <class 'int'> 1 <class 'str'> gender
    # 输出 => <class 'int'> 2 <class 'str'> hobby


# """ **********************************
#                 删
# ********************************** """
mydict = {"name":"饭真香","gender":"男","hobby":"钓鱼"}
mydict.pop("name")
print(mydict)
# 输出 => {'gender': '男', 'hobby': '钓鱼'}

# mydict.pop("name2")
# print(mydict)
# 输出 => Exception has occurred: KeyError 'name2'

# popitem() 是一个字典的方法,用于删除并返回字典中的一对键值对(键和值都被返回)。
# popitem() 方法会从字典中随机选择一个键值对进行删除并返回。
# 在 Python 3.7+ 中,popitem() 方法会删除最后添加的键值对。
mydict = {"name":"饭真香","gender":"男","hobby":"钓鱼"}
deltuple = mydict.popitem()
print(deltuple)
print(mydict)
# 输出 => ('hobby', '钓鱼')
# 输出 => {'name': '饭真香', 'gender': '男'}

# """ **********************************
#                 转换
# ********************************** """
# 字符串 => dict   关键代码:json.loads(mystr)
mystr = '{"name": "饭真香", "gender": "男", "hobby": "钓鱼"}'
print(type(mystr), mystr) # <class 'str'> {"name": "饭真香", "gender": "男", "hobby": "钓鱼"}
mydict = json.loads(mystr) # <class 'dict'> {'name': '饭真香', 'gender': '男', 'hobby': '钓鱼'}
print(type(mydict),mydict)