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

标签 python dictionary

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

为什么不这样输出,我们如何让它正确输出?

最佳答案

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

关于python - 使用 for 循环填充字典(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30280856/

相关文章:

python - 使用 Python 通过 Twitter API 引用推文

python - 当没有图像扩展名时,使用 Beautiful Soup 获取图像数据-src

python - 我可以在哪里改进我的代码以缩短其执行时间?

java - 根据 XMLGregorianCalendar 类型的键对 map 进行排序

python - 排序python字典

javascript - Python Selenium : How to navigate Javascript based navigation

python - 将非零列名转换为 Python 中的行

json - 如何在 Go 中解码 json

python - 从内容中查找字典

java - iPhone 代码和 Android 代码