字典(dictionary)是除列表以外Python中最灵活的数据类型
字典也可以用来存储多个数据
和列表的区别
- 列表是有序的对象集合
- 字典是无序的对象集合
字典用{}定义
字典使用键值对存储数据,键值对之间用逗号分隔
- 键key是索引
- 值value是数据
- 键和值之间用:分隔
- 键必须是唯一的
- 值可以取任何数据类型,但键只能使用字符串、数字或元组
字典的基本使用
# 字典是一个无序的数据集合,所有输出的时候和定义的顺序是不一致的
xiaoming={"name":"小骆驼","age":18}
# 1.取值
print(xiaoming["name"])
# 在取值的时候,如果指定的key不存在,程序会报错 KeyError: 'name666'
# print(xiaoming["name666"])
# 2.增加/修改
xiaoming["爱好"]="吃草"
# 如果key存在会修改已经存在的键值对
xiaoming["name"]="小陀螺"
# 3.删除
xiaoming.pop("name")
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错!KeyError: 'name123'
# xiaoming.pop("name123")
print(xiaoming)
字典的其它操作
xiaoluotuo_dict={"name":"小骆驼","age":5}
# 1.统计键值对数量
print(len(xiaoluotuo_dict))
# 2.合并字典 注意键的名称一定不能相同,否则就是修改了数据的值,而不是合并了
xiaotuoluo_dict={"name1":"小陀螺","age2":3}
xiaoluotuo_dict.update(xiaotuoluo_dict)
# 3.清空字典
xiaoluotuo_dict.clear()
print(xiaoluotuo_dict)
字典的循环遍历
- 就是依次从字典中获取所有键值对。
xiaoyouyu_dict={"name":"小鱿鱼",
"qq":1314521,
"phone":1100010}
# 迭代遍历字典
# 变量k是每一次循环中获取到的键值对的k
for k in xiaoyouyu_dict:
print("%s - %s" %(k,xiaoyouyu_dict[k]))