字典的定义:
dictionary(字典)是除列表以外python之中最灵活的数据类型,字典同样可以用来存储多个数据;通常用于描述一个物体的相关信息
字典和列表的区别:
列表是有序的对象集合,字典是无序的对象集合,字典用大括号定义。
字典用键值对存储数据,键值对之间使用逗号分隔。
键key是索引
值value是数据
键和值之间使用冒号分隔
键必须是唯一的
值可以取任何数据类型,但键只能使用字符串、数字或元组
字典是一个无序的数据集合,使用print函数输出字典时通常输出的顺序和定义的顺序是不一致的
xiaoming = {"name": "小明",
"age": 18,
"gender": True,
"height": 1.75,
"weight": 75}
print(xiaoming)输出结果
{'name': '小明', 'age': 18, 'gender': True, 'height': 1.75, 'weight': 75}字典的基本使用
1.取值
xiaoming_dict = {"name": "小明"}
# 1.取值
print(xiaoming_dict["name"])输出结果
小明2.增加/修改
# 如果key存在,会新增键值对
xiaoming_dict["age"] = 18
# 如果key不存在,会修改已经存在的键值对
xiaoming_dict["name"] = "小小明"
print(xiaoming_dict)输出结果
{'name': '小小明', 'age': 18}删除
xiaoming_dict.pop("name")
# 在删除指定键值对的时候,如果key不存在程序会报错
# xiaoming_dict.pop("name123")输出结果
{'age': 18}
# KeyError: 'name123'字典的其他操作
统计键值对的数量
xiaoming_dict = {"name": "小明",
"age": 18}
# 1.统计键值对的数量
print(len(xiaoming_dict))输出结果
2合并字典
temp_dict = {"height": 1.75,
"age": 20}
# 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
xiaoming_dict.update(temp_dict)
print(xiaoming_dict)输出结果
{'name': '小明', 'age': 20, 'height': 1.75}清空字典
xiaoming_dict.clear()输出结果
{}字典的应用场景
使用多个键值对,存储描述一个物体的相关信息 – 描述更多复杂的数据信息,将多个字典放在一个列表中,再进行遍历
card_list = [
{"name": "张三",
"qq": "12345",
"phone": "110"},
{"name": "李四",
"qq": "54321",
"phone": "10086"}
]
for card_info in card_list:
print(card_info)输出结果
{'name': '张三', 'qq': '12345', 'phone': '110'}
{'name': '李四', 'qq': '54321', 'phone': '10086'}字典的遍历
iaoming_dict = {"name": "小明",
"qq": 123456,
"phone": 10086}
# 迭代遍历字典
# 变量k是每一次循环中,获取到的键值对的key
for k in xiaoming_dict:
print("%s - %s" % (k, xiaoming_dict[k]))输出结果
name - 小明
qq - 123456
phone - 10086字符串的定义
字符串就是一串字符,是编程语言中表示文本的数据类型,在python中可以使用一对双引号或者一对单引号定义一个字符串。
字符串的索引,可以使用索引获取一个字符串中指定位置的字符,索引计数从0开始,也可以使用for循环遍历字符串中的每一个字符字符串也可以根据索引取值
str1 = "hello python"
print(str1[6])输出结果
p字符串遍历
str2 = "我的外号是'大西瓜'"
print(str2)
for char in str2:
print(char)输出结果
我
的
外
号
是
'
大
西
瓜
'字符串的统计操作
hello_str = "hello hello"统计字符串的长度
print(len(hello_str))输出结果
11统计某一个小字符串出现的次数
print(hello_str.count("llo"))输出结果
2某一个子字符串出现的位置(取索引)
print(hello_str.index("llo"))
# 注意:如果使用index方法传递的子字符串不存在,程序会报错
# print(hello_str.index("zbc"))输出结果
2
# print(hello_str.index("zbc"))
# ValueError: substring not found
















