首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python列表从2个列表创建字典

如何使用python列表从2个列表创建字典
EN

Stack Overflow用户
提问于 2019-12-24 10:38:35
回答 2查看 54关注 0票数 0

这是我的密码:

代码语言:javascript
复制
a=[1,2,3,4,5,6,7]
b=[8,9,10,11,12,13,14]
c=[{i:j} for i in a for j in b]
print(c)

输出是

代码语言:javascript
复制
[{1: 8}, {1: 9}, {1: 10}, {1: 11}, {1: 12}, {1: 13}, {1: 14}, {2: 8}, {2: 9}, {2: 10}, {2: 11}, {2: 12}, {2: 13}, {2: 14}, {3: 8}, {3: 9}, {3: 10}, {3: 11}, {3: 12}, {3: 13}, {3: 14}, {4: 8}, {4: 9}, {4: 10}, {4: 11}, {4: 12}, {4: 13}, {4: 14}, {5: 8}, {5: 9}, {5: 10}, {5: 11}, {5: 12}, {5: 13}, {5: 14}, {6: 8}, {6: 9}, {6: 10}, {6: 11}, {6: 12}, {6: 13}, {6: 14}, {7: 8}, {7: 9}, {7: 10}, {7: 11}, {7: 12}, {7: 13}, {7: 14}]

但我想:

代码语言:javascript
复制
[{1: 8, 2: 9, 3: 10, 4: 11, 5: 12, 6: 13, 7: 14}]

如何做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-24 10:42:06

若要将多个列表配对在一起,则需要使用constructor

  • Wrap操作zip(a, b)
  • ,如果需要的话,可以在数组中使用dict理解符号或dict

代码语言:javascript
复制
c = dict(zip(a, b))   # {1: 8, 2: 9, 3: 10, 4: 11, 5: 12, 6: 13, 7: 14}
c = [dict(zip(a, b))] # [{1: 8, 2: 9, 3: 10, 4: 11, 5: 12, 6: 13, 7: 14}]

c = {i: j for i, j in zip(a, b)}   # {1: 8, 2: 9, 3: 10, 4: 11, 5: 12, 6: 13, 7: 14}
c = [{i: j for i, j in zip(a, b)}] # [{1: 8, 2: 9, 3: 10, 4: 11, 5: 12, 6: 13, 7: 14}]

您的表示法[{:} for _ in _]为每次迭代创建一个dict,从而在列表[{}, {}, {}]中生成多个切分。

票数 3
EN

Stack Overflow用户

发布于 2019-12-24 10:43:35

dictzip结合使用

Ex:

代码语言:javascript
复制
a=[1,2,3,4,5,6,7]
b=[8,9,10,11,12,13,14]

print(dict(zip(a, b)))
# --> {1: 8, 2: 9, 3: 10, 4: 11, 5: 12, 6: 13, 7: 14}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59467501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档