python之容器(1)
作者:YXN-python 阅读量:90 发布日期:2022-10-01
# 字典排序 缺点:键不能重复 ##字典中没有顺序,排序随机
dict1 = {'b': 0, 'c': 4, 'a': 2, 'a': 1, 'f': 0} # 字典中键不能重复,第三项会被第四项覆盖
print(dict1)
# 字典按值降序排列
dict2 = dict(sorted(dict1.items(), key=lambda asd: asd[1], reverse=True))
print('字典按值降序排列: ', dict2)
# 字典按键升序排列
dict3 = dict(sorted(dict1.items(), key=lambda asd: asd[0]))
print('字典按键升序排列: ', dict3)
# 字典的每项键值反转
dict4 = dict(tuple(reversed(items)) for items in dict1.items()) # 注意:反转后的字典,相同键的项会被偏后者覆盖
print('字典的每项键值反转后:', dict4)
# 字典的每一项转换为二维元组
tuple0 = tuple(items for items in dict1.items())
print('字典转换为二维元组:', tuple0)
# 字典的每一项反转后转换为二维元组
tuple1 = tuple(tuple(reversed(items)) for items in dict1.items())
print('字典的每一项反转后转换为二维元组:', tuple1)
# 二维元组转换为二维列表
list1 = list(list(items) for items in list(tuple1))
print('二维元组转换为二维列表:', list1)
# 二维元组转换为二维列表,并每项反转
list2 = list(list(reversed(list(items))) for items in list(tuple1))
print('二维元组转换为二维列表,并每项反转:', list2)
# 二维列表 展开
# chain.from_iterable()是一种迭代器,对象为可迭代的数据结构,用于拆分与合并一些迭代对象。
import itertools
print(list(itertools.chain.from_iterable(list2)))
YXN-python
2022-10-01