python——元组、字典
元组tuple:可存放任意类型、可以任意多个数据
数据内容不能改变、使用小括号()
my_tuple = (1,xxx,3.14,False) 定义一个元组,数据后要加逗号 ,
常用方法(与列表一致):1、使用下标和切片查看 my_tuple[1]
2、index()--查找下标 、count()
字典dict ---由key - value 组成,一组键值对是一个数据,键不能重复,键一般为字符串不能为列表
my_dict = {key : value , key : value} 字典的值可以是列表[],添加列表值 my_dict[键].append(值)
字典增加和修改:
my_dict[键] = 值 如键存在,则为修改;如键不存在,则为添加,只能添加其他键值的后面
字典的删除:
del my_dict[键] ---删除指定键值对 /my_dict.pop(键) 删除字典的列表的值 my_dict[键].pop(值)
my_dict.clear() ---清空键值对
字典的查询:字典无下标,要查找值用key
my_dict[键] / my_dict.get(键)
字典的遍历:
1、对字典的键进行遍历
a. for k in dict:
print(k)
b. for k in dict.key():
print(k)
2、对字典的值进行遍历
for k in dict.values():
print(k)
3、对字典的键值对进行遍历
for k,v in dict.items():
print(k,v )
总结:
1、字符串、列表、元组 支持加法运算
my_str = "hello" + "world" # helloworld
my_list = [1, 2, 3] + [1, 2, 3] # [1, 2, 3, 1, 2, 3]
my_tuple = (1, 2) + (3, 4) # (1, 2, 3, 4)
2、字符串、元组、列表 支持乘数字
my_str1 = "hello" * 2 # hellohello
my_list1 = [1, 2, 3] * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3]
my_tuple1 = (1, 2) * 2 # (1, 2, 1, 2)
3、len() 在容器中都可以使用
4、in 关键字在容器中都可以使用 注意:在字典中判断字段的键是否存在
练习1:
# 输入3个人信息,包括姓名和年龄,存入字典后将字典存入列表并打印
# 打印格式如: 张三 20
# 定义一个列表
my_list = []
# 使用循环,输入3个人信息
for i in range(3):
# 循环一次创建一个字典
my_dict = {}
name = input("请输入姓名:")
age = input("请输入年龄:")
# 将信息存入字典
my_dict['name'] = name
my_dict['age'] = age
# 将字典存入列表 列表.append()
my_list.append(my_dict)
# 遍历打印信息
for a in my_list:
#根据字典的key来获取value
print(a['name'], a['age'])
练习2:
# 列表:
# my_list = [{'id' : 1 , ' money' : 10 },{'id' : 2, ' money' : 20 },{'id' : 3 , ' money' : 30 },{'id' : 4 , ' money' : 40 }]
# 定义函数,功能如下:
# 如果字典的id为奇数,则money的值加20
# 如果字典的id为偶数,则money的值加10
# 打印查看结果
my_list = [{'id': 1, 'money': 10}, {'id': 2, 'money': 20}, {'id': 3, 'money': 30}, {'id': 4, 'money': 40}]
# 定义一个函数
def func():
# 遍历my_list i 为{}字典
for i in my_list:
# 获取id对应的值 字典.get(key)
# 如果字典的id为奇数,则money的值加20
if i.get('id') % 2 == 1:
i['money'] = i.get('money') + 20
# 如果字典的id为偶数,则money的值加10
else:
i['money'] = i.get('money') + 10
print(my_list)
func()