2024-04-24 19:14:37 发布
网友
我有这样一个清单:
c = ['A','B','C']
我希望它能把它转换成dict对象
dict
我目前已经实现了以下代码:
c = ["A","B","C"] d={} for i in range(len(c)): d.update({"alphabets":{str(i): c[i]}}) print d
但这会得到输出{'alphabets': {'2': 'C'}}。有人知道如何处理这个错误吗?在
{'alphabets': {'2': 'C'}}
那是因为你正在更新字典。在
警告:
我用过普通字典。如果你愿意的话,你可以用有序字典。在
代码:
c = ["A","B","C"] d={"alphabets":{}} for i,v in enumerate(c): d["alphabets"][str(i)]=v print d
输出:
注意事项:
alphabets
c:2
您也可以使用zip,尽管它不维护顺序。在
zip
>>>{'alphabets':{k:v for k,v in zip(range(len(c)),c)}} >>>{'alphabets': {0: 'A', 1: 'B', 2: 'C'}}
您可以使用dict comprehension:
dict comprehension
In [196]: {'alphabets': {str(i):v for i, v in enumerate(c)}} Out[196]: {'alphabets': {'0': 'A', '1': 'B', '2': 'C'}}
如果您需要订单,可以使用^{}来自^{}
或者是@cezar建议的onliner:
d = {'alphabets': OrderedDict([(str(i), v) for i, v in enumerate(c)])}
那是因为你正在更新字典。在
警告:
我用过普通字典。如果你愿意的话,你可以用有序字典。在
代码:
输出:
^{pr2}$注意事项:
alphabets
更新到新字典中。在c:2
,因为这是最后一个更新的字典 -我所做的就是创建一个键为alphabets
的字典您也可以使用
zip
,尽管它不维护顺序。在您可以使用
dict comprehension
:如果您需要订单,可以使用^{} 来自^{}
^{pr2}$或者是@cezar建议的onliner:
相关问题 更多 >
编程相关推荐