"""
字典操作
遍历
"""
dict_lq ={"name":"刘亦菲","age":20,"sex":"女"}# 所有keyfor key in dict_lq:print(key)# 所有valuefor value in dict_lq.values():print(value)# 所有key和value# for item in dict_lq.items():# print(item[0])# print(item[1])for key, value in dict_lq.items():print(key)print(value)print(list(dict_lq))# ['name', 'age', 'sex']print(list(dict_lq.values()))# ['刘亦菲', 20, '女']print(list(dict_lq.items()))# [('name', '刘亦菲'), ('age', 20), ('sex', '女')]print(dict([('name','刘亦菲'),('age',20),('sex','女')]))
四、字典操作小练习
# 练习:# 删除台湾现有信息# 删除陕西新增和现有信息# 删除浙江现有和累计信息# 删除广西新增人数保留键(通过键修改值)del dict_tan_wan["now"]del dict_shan_xi["new"], dict_shan_xi["now"]del dict_zhe_jiang["now"], dict_zhe_jiang["total"]# 练习4:# 在终端中打印台湾所有键(一行一个)# 在终端中打印陕西所有值(一行一个)# 在终端中打印浙江所有键和值(一行一个)# 在广西字典中查找值是254对应的键名称for key in dict_tan_wan:print(key)for value in dict_shan_xi.values():print(value)for key, value in dict_zhe_jiang.items():print(key)print(value)for key, value in dict_guangxi.items():if value ==254:print(key)
五、字典推导式
"""
字典推导式
根据其他容器,以简易方式,构建新字典
"""
list_name =["亦菲","杰伦","紫棋"]
list_age =[20,23,35]# dict_result = {}# for i in range(len(list_name)): # 0 1 2# key = list_name[i]# value = list_age[i]# dict_result[key] = value# print(dict_result)
dict_result ={list_name[i]: list_age[i]for i inrange(len(list_name))}print(dict_result)
dict_result ={list_name[i]: list_age[i]for i inrange(len(list_name))if list_age[i]>20}print(dict_result)
六、字典推导式小练习
"""
练习1:
将两个列表,合并为一个字典
姓名列表["张无忌","赵敏","周芷若"]
房间列表[101,102,103]
{101: '张无忌', 102: '赵敏', 103: '周芷若'}
练习2:
颠倒练习1字典键值
{'张无忌': 101, '赵敏': 102, '周芷若': 103}
"""
list_name =["张无忌","赵敏","周芷若"]
list_room =[101,102,103]# dict_result = {}# for i in range(len(list_name)):# # key = list_name[i]# # value = list_room[i]# # dict_result[key] = value# dict_result[list_name[i]] = list_room[i]# print(dict_result)
dict_result ={list_name[i]: list_room[i]for i inrange(len(list_name))}print(dict_result)# new_dict = {}# for k,v in dict_result.items():# new_dict[v] = k# print(new_dict)
new_dict ={v: k for k, v in dict_result.items()}print(new_dict)
七、小结
"""
小结-容器
1. 种类与特征
字符串tuple:存储字符编码,不可变,序列
列表list:存储变量,可变,序列
元组tuple:存储变量,不可变,序列
字典dict:存储键值对,可变,散列
2. Python语言有哪些数据类型?
可变类型:预留空间+自动扩容
例如:list,dict...
优点:操作数据方便(能够增删改)
缺点:占用内存较大
不可变类型:按需分配
例如:int、float、bool、str、tuple...
优点:占用内存较小
缺点:不能适应现实的变化
3. 序列与散列
序列:支持索引切片,定位数据灵活
散列:通过键定位数据,速度最快
4. 语法
列表 字典
创建
列表名 = [数据1,数据2] 字典名 = {键1:值,键2:值}
列表名 = list(容器) 字典名 = dict(容器)
添加
列表名.append(元素) 字典名[键]=值
列表名.insert(索引,元素)
定位
列表名[整数] 字典名[键]
列表名[开始:结束:间隔]
删除
del 列表名[索引或切片] del 字典名[键]
列表名.remove(数据)
遍历
for item in 列表名: for key in 字典:
for i in range(len(列表名)): for value in 字典.values():
for k,v in 字典.items():
"""#指定字典某个位置的元素
dict_lq ={"name":"刘亦菲","age":20,"sex":"女"}
tuple_item =tuple(dict_lq.items())print(tuple_item[-1])