python - Python 新手:使用两个列表创建字典,其中一个列表多于一行
问题描述
在不导入任何模块的情况下,我想制作一个字典,比较两个具有相似元素的列表,其中一个列表每个都包含一个额外元素(描述),并希望创建 List_A 中元素的字典作为键和第二个元素如果脚本发现元素相同,则在 List_B 中作为值。
示例:List_A = [a,b,c,d,e] 列表 B = [[b,w], [d,x], [c,y], [a,z]
new_dict = {"a:z", "b:w", "c:y" "d:x"}
解决方案
这实际上是一个过滤问题。当且仅当 list_a 中存在第一个元素时,您才想使用 list_b 中的元素构建字典。您可以通过几种方式实现这一目标。
list_a = [a,b,c,d,e]
list_b = [[b,w], [d,x], [c,y], [a,z]]
result = {}
for pair in list_b:
if pair[0] in list_a:
result[pair[0]] = pair[1]
请注意,您可以通过字典理解获得类似的结果:
result = {pair[0]:pair[1] for pair in list_b if pair[0] in list_a}
我想说的是,修改为 list_b 生成数据的方式可能会有所帮助,并将其设置为项目字典 -> 从一开始就描述。
推荐阅读
- prometheus - Prometheus 查询以识别指标的更改
- rust - 当长度不变时, Vec::splice() 是否有效?
- python - 如何将变量传递给字符串?神社2
- python - MongoDb 无法识别 json
- java - 我应该在一个小型应用程序中使用 Spring Security 模块来获取 bcrypt 哈希密码吗?
- c# - 无法在 C# 中使用 HttpClient 发布 Json
- r - ggplot 按百分比拆分条形图
- javascript - jquery click 事件在 IE 和 Edge 中没有触发
- java - 如何申请
到 jOOQ 中的存储函数? - javascript - 如何将socketio服务器的路径设置为用户的路径?