一尘不染

将字典转换为列表?

python

我正在尝试将Python字典转换为Python列表,以便执行一些计算。

#My dictionary
dict = {}
dict['Capital']="London"
dict['Food']="Fish&Chips"
dict['2012']="Olympics"

#lists
temp = []
dictList = []

#My attempt:
for key, value in dict.iteritems():
    aKey = key
    aValue = value
    temp.append(aKey)
    temp.append(aValue)
    dictList.append(temp) 
    aKey = ""
    aValue = ""

那是我的尝试…但是我无法解决问题所在?


阅读 233

收藏
2020-12-20

共1个答案

一尘不染

你的问题是,你必须keyvalue引号使他们的字符串,即你设置aKey包含字符串"key",而不是变量的值key。另外,您不会清除temp列表,因此每次都添加到列表中,而不是仅包含两个项目。

要修复您的代码,请尝试以下操作:

for key, value in dict.iteritems():
    temp = [key,value]
    dictlist.append(temp)

你并不需要将循环变量拷贝keyvalue我放弃了出来到另一个变量在使用它们之前。同样,您无需使用append即可建立列表,只需在方括号之间指定它即可,如上所示。dictlist.append([key,value])如果我们想尽可能简短,我们可以做。

或者只是dict.items()按照建议使用。

2020-12-20