使用for循环填充字典(Python)

9 浏览
0 Comments

使用for循环填充字典(Python)

这个问题已经有了答案

如何在并行迭代两个列表?

我正在尝试使用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'}

为什么它不会这样输出,如何使其正确输出?

admin 更改状态以发布 2023年5月23日
0
0 Comments
>>> dict(zip(keys, values))
{0: 'Hi', 1: 'I', 2: 'am', 3: 'John'}

的中文意思是:“123”(表示粗体的123)。

0
0 Comments

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'}

0