【发布时间】:2019-11-21 10:12:05
【问题描述】:
尝试将项目列表作为键:值对转换为字典:
def make_dict(a_list, category_name):
a_dict = {}
for i in range(0, len(a_list), 2):
a_dict[a_list[i]] = a_list[i+1]
return a_dict
得到这个错误:
a_dict[a_list[i]] = a_list[i+1]
IndexError: list index out of range
我明白为什么,但我不知道如何解决它。有什么解决办法吗?
此外,它还在超出范围之前收集键:值对。
【问题讨论】:
-
您能否添加示例输入和预期输出?
-
您的代码应该可以工作,但前提是
a_list中有偶数个项目。请确保是这种情况。 -
你也可以
dict(zip(a_list[::2], a_list[1::2])). -
@jdehesa 非常简单的解决方案,只是想知道你能解释一下分号
(a_list[::2], a_list[1::2]),这样我就可以做自己的进一步研究以充分了解那里发生了什么?干杯。
标签: python list dictionary append