使用for循环填充字典(python)[重复]

发布于 2021-01-29 15:10:49

这个问题已经在这里有了答案

如何并行地遍历两个列表? (7个答案)

5年前关闭。

我正在尝试使用for循环创建字典。这是我的代码:

dicts = {}
keys = range(4)
values = ["Hi", "I", "am", "John"]
for i in keys:
    for x in values:
        dicts[i] = x
print(dicts)

输出:

{0: 'John', 1: 'John', 2: 'John', 3: 'John'}

为什么?

我正计划将其输出:

{0: 'Hi', 1: 'I', 2: 'am', 3: 'John'}

为什么不以这种方式输出?我们如何使其正确输出?

关注者
0
被浏览
110
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    dicts = {}
    keys = range(4)
    values = ["Hi", "I", "am", "John"]
    for i in keys:
            dicts[i] = values[i]
    print(dicts)
    

    或者

    In [7]: dict(list(enumerate(values)))
    Out[7]: {0: 'Hi', 1: 'I', 2: 'am', 3: 'John'}
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看