【发布时间】:2016-01-20 09:09:24
【问题描述】:
我有一个这样的列表:
c = ['A','B','C']
我希望它把它转换成dict 对象,比如
d = {"alphabets":{"0":"A","1":"B","2":"C"}}
我目前已经实现了以下代码:
c = ["A","B","C"]
d={}
for i in range(len(c)):
d.update({"alphabets":{str(i): c[i]}})
print d
但这给出了输出{'alphabets': {'2': 'C'}}。有人知道如何处理这个错误吗?
【问题讨论】:
-
你想要上面发布的订单,即
0,1,2,3- 那么头脑字典不关心订单 -
请问你为什么要那个?事实上,我认为没有任何意义。
-
@TigerhawkT3 我也在问自己,为什么要创建一个以整数作为键的字典,就像在这个例子中一样。拥有一个列表要简单得多,并且仍然可以通过索引访问列表项:
my_list[0]比my_dict['0']更易于管理。 -
@abhi1610 它们已经排列在列表中,您可以通过索引访问每个项目。您可以将列表作为键
alphabets的值。列表不能是字典中的键,这一点很重要。你可以有d = {'alphabets': ['A', 'B', 'C']}。有了一个列表,你就有更多的可能性,例如切片:d['alphabets'][::-1]用于反转。 -
“我想将列表中的项目按照它们作为字典中的键的位置排列”是对您正在做的事情的重复,而不是您为什么要这样做的原因。如果您仍在使用那种“索引”作为键,那么在
list中向它们添加属性就像在字典中一样容易。您可以通过mylist[key]已经访问它们。 这里没有区别或改进。
标签: python list dictionary iteration