Python3字典

 字典常见操作

字典部分示例:
# # 字典的成员是键对应值的格式,键和值是一一对应的。
xiaoming = {"name":"小明","sex":True,"height":172}
print(xiaoming)
print( xiaoming["height"] ) # 取值, 拿小明的身高

# python中规定,字典中的成员的键是唯一的。如果出现多个同名的键,那么写在后面覆盖前面的值
xiaoming = {"name":"小明","sex":True,"height":172,"name":"小灰"}
print(xiaoming)  #  {'name': '小灰', 'sex': True, 'height': 172}

"""字典添加成员
字典的操作中,可以通过给字典成员的指定键进行赋值,如果键存在,则改变键对应的值,
如果键不存在,则表示给字典添加一个成员
"""
xiaoming = {"name":"小明","sex":True,"height":172}
xiaoming["weight"] = 100
print(xiaoming)


"""字典修改成员
直接给键进行再次赋值就可以修改键对应的值了。
如果键不存在,则变成添加成员
"""
xiaoming = {"name":"小明","sex":True,"height":172}
xiaoming["name"] = "小明明"
xiaoming["height"] = 170
print(xiaoming)  # {'name': '小明明', 'sex': True, 'height': 170}

"""使用update也可以修改成员的值
如果数据中的键不存在,则变成添加成员
"""
xiaoming = {"name":"小明","sex":True,"height":172}
xiaoming.update({"name":"王晓明","height":170})
print(xiaoming)  # {'name': '王晓明', 'sex': True, 'height': 170}

"""使用setdefault可以设置一些不存在的键(key)的默认值"""
xiaoming = {"name":"小明","sex":True,"height":172}
xiaoming.setdefault("name","王晓明") # 对于已经存在的键,修改无效
print(xiaoming)  # {'name': '小明', 'sex': True, 'height': 172}
xiaoming.setdefault("weight",50) # 对于不存在的键,修改有效
print(xiaoming)  # {'name': '小明', 'sex': True, 'height': 172, 'weight': 50}

"""字典的成员删除"""
xiaoming = {"name":"小明","sex":True,"height":172}
del xiaoming["sex"]
print( xiaoming )  # {'height': 172, 'name': '小明'}

# 使用pop删除指定键对应的成员
# 格式:字典.pop(键,默认值)
# 在不设置默认值的情况下,使用pop删除不存在的键,会报错。
# pop的结果是被删除的成员的值
xiaoming = {"name":"小明","sex":True,"height":172}
name = xiaoming.pop("name",None)  # None  python中的特殊类型,表示什么没有,或者是空的。
print(xiaoming)

# 一般有个判断,判断是否成功删除了字典中的成员
if name == None:
    print("当前这个键不存在")
else:
    print("你成功删除了%s" % name)

"""字典的查询"""
# 获取指定键对应的成员的值,如果键不存在,则报错
xiaoming = {"name":"小明","sex":True,"height":172}
print( xiaoming["name"] )


# 获取指定键对应的成员的值,如果键不存在,不会报错,而是返回一个None,表示什么都没有
xiaoming = {}
name = xiaoming.get("name")
print(name) # None

# 获取字典中所有的键
xiaoming = {"name":"小明","sex":True,"height":172}
keys = xiaoming.keys()
print( keys )  # 就业班详细讲,就是一种可迭代对象,可以使用for遍历的数据

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

# 获取字典中的所有的值
# 1
xiaoming = {"name":"小明","sex":True,"height":172}
values = xiaoming.values()
print( values )
# 2
for value in xiaoming.values():
    print(value)


# 获取字典中的所有成员[键值对]
xiaoming = {"name":"小明","sex":True,"height":172}
items = xiaoming.items()
print( items )


# 开发中,经常使用字典.items()和for循环进行遍历字典中的成员内容
for key,value in xiaoming.items():
    print("key=%s,\tvalue=%s" % (key,value))


# 另一种遍历字典的方式:
# 注意,直接把字典进行for遍历,获取到的内容是每个成员的键
for key in xiaoming:
    print("key=%s,\tvalue=%s" % (key,xiaoming[key]))
字典补充:
查询:
info = {'name1': "张三", 'name2': '李四'}
l = info['name']  # 键不存在,会报错
print(l)
v1 = info.get('name') # 键不存在,返回None
print(v1)
v2 = info.get('name', 123) # 键不存在,返回指定值
print(v2)

猜你喜欢

转载自blog.csdn.net/csdngaoqingrui/article/details/80502267
今日推荐