HOW-TO: 如何将array转换为python中的dict

Tags: python how-to

如何在 python 中优雅解决将array转换为dict,希望将数组转换到以下形式:

dict = {'item0': arr[0], 'item1': arr[1], 'item2': arr[2]...}

方法一:使用enumerate和dict comprehension

>>> arr = ["aa", "bb", "cc"]
>>> {'item{}'.format(i): x for i,x in enumerate(arr)}
{'item2': 'cc', 'item0': 'aa', 'item1': 'bb'}

方法二:使用dict comprehension

>>> l = [3, 2, 4, 5, 7, 9, 0, 9]
>>> d = {"item" + str(k): l[k] for k in range(len(l))}
>>> d
{'item5': 9, 'item4': 7, 'item7': 9, 'item6': 0, 'item1': 2, 'item0': 3, 'item3': 5, 'item2': 4}

方法三:使用循环的方式

通常的像C语言的循环方式被认为不是Pythonic的。因此通过枚举,枚举可以获得索引和我们需要的元素(参考SO的一篇文章:在Python中的for循环中访问索引)。每次循环我们从数组中取的一个元素后插入到dict中,使用字符串作为dict的键。因为使用format方法替代 % 格式化字符传(参考:Python字符串格式化%对比format

simpleArray = [ 2, 54, 32 ]
simpleDict = dict()
for index,item in enumerate(simpleArray):
    simpleDict["item{0}".format(index)] = item

print(simpleDict)

本文链接:http://www.4byte.cn/learning/120035/how-to-ru-he-jiang-array-zhuan-huan-wei-python-zhong-de-dict.html