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

2024-05-20 09:10:20 发布

您现在位置: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'}

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


Tags: 代码infor字典方式rangekeyshi
2条回答
>>> dict(zip(keys, values))
{0: 'Hi', 1: 'I', 2: 'am', 3: 'John'}
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'}

相关问题 更多 >