python - 如果我想将它与字典值进行比较并替换它,如何维护新字典中的列表顺序?
问题描述
我需要将列表与字典键进行比较,如果它们匹配则制作一个新字典。问题是我不知道如何维护列表顺序。
list = [cat, dog, horse, kitten]
dict = {dog: 1, cat: 5}
filter_dict = {}
for key, value in dict.items():
if key in list:
filter_dict[key] = value
print(filter_dict)
我需要的:
filter_dict= {cat: 5, dog: 1}
我得到什么:
filter_dict = {dog: 1, cat: 5}
解决方案
假设您使用的是晚于或等于 3.6 的 Python 版本(保证字典保持顺序),如果您希望键的顺序与列表
循环遍历字典将始终以与原始字典相同的顺序生成键
for item in your_list:
if item in your_dict:
filter_dict[item] = your_dict[item]
这可以通过理解来实现
filter_dict = {key: your_dict[key] for key in your_list if key in your_dict}
推荐阅读
- ajax - 将给定的 curl 请求转换为 ajax 请求
- pandas - 通过排序修复左侧的数据框并在右侧相对于公共列填充另一个数据框
- javascript - Service-Worker addEventListener,如何使用事件参数?
- javascript - 下拉值和单选按钮
- django - 如何使用 django rest 框架为不同的用户设置不同的节流范围?
- python-3.x - 如何将熊猫数据框作为一个系列?
- php - PHP 源路径
- android - 量角器代码在 android 手机上运行良好,但在报告中显示为失败
- javascript - 在html表的另一行中复制特定行
- excel - Excel IF 语句过滤数字和字母