字典与列表一样是一个可变序列(可以做增删改操作),存储的值可以是任何数据类型,但键必须是不可变序列,以键值对的方式存储数据,字典的每个键值 key
对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:pythona={"ke1":"vale1","ky2":"vale2"}
字典的常用的创建方式是使用 {}
花括号创建,也可以使用内置函数 dict()
创建。
pythona={"姓名":"张三","年龄":28} # 第一种创建方式
print(a,type(a)) # 类型为 dict
b=dict(name="allen",age=19) # 第二种创建字典方式
print(b,type(b))
c={} # 空字典
获取字典中的元素可以使用 []
和 get()
获取,区别在于如果使用 []
查找一个不存在键会报错,而使用 get()
查找不存在键,会返回 None 。
pythonscores={"张三":98,"李四":86}
print(scores["张三"]) # 第一种获取方式
# print(scores["王五"]) # KeyError: '王五' 会报错
print(scores.get("李四")) # 第二种获取方式
print(scores.get("王五")) # 查找不存在的键返回None,不会报错
print(scores.get("王五",87)) # 87是查找“张三”的键不存在时,返回的默认值
字典的 判断、增、删、改 操作
pythonscores={"张三":76,"李四":86,"王五":93}
print("张三" in scores) # 判断"张三"在字典里是否存在
print("张三" not in scores)
del scores["张三"] # 删除指定的键值对
print(scores)
scores.clear() # 清空字典
print(scores)
scores["赵六"]=69 # 新增键值对
print(scores)
scores["赵六"]=99 # 修改指定的键的值
print(scores)
字典的视图操作
pythonscores={"张三":76,"李四":86,"王五":93}
keys=scores.keys() # 获取所有的key
print(keys,type(keys)) # 类型"dict_keys"
print(list(keys)) # 可以转换成列表
values=scores.values() # 获取所有的values
print(values,type(values)) # 类型为"dict_values"
print(list(values))
items=scores.items() # 获取所有的key-value对
print(items,type(items)) # 类型"dict_items"
字典元素的遍历
pythonscores={"张三":76,"李四":86,"王五":93}
for item in scores:
print(item,scores[item])
使用内置函数 zip()
,语法是 <dict_name> = {<new_key>:<new_value> for <item> in <iterable>}
pythonitems=['Fruits','Books','Others']
prices=[88,93,75]
d={item.upper():price for item,price in zip(items,prices)}
print(d)
本文作者:柯南
本文链接:
版权声明:©2023 柯南 All rights reserved.