首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否将字典转换为列表?

是否将字典转换为列表?
EN

Stack Overflow用户
提问于 2009-11-05 17:34:18
回答 7查看 889.2K关注 0票数 242

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

代码语言:javascript
复制
#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 = ""

这就是我的尝试。但是我不知道出了什么问题?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-11-05 17:38:44

您的问题是将keyvalue放在引号中,使其成为字符串,即将aKey设置为包含字符串"key",而不是变量key的值。此外,您不会清空temp列表,所以每次都要向其中添加内容,而不是只在其中添加两项。

要修复您的代码,请尝试如下所示:

代码语言:javascript
复制
for key, value in dict.iteritems():
    temp = [key,value]
    dictlist.append(temp)

在使用循环变量keyvalue之前,不需要将它们复制到另一个变量中,所以我把它们去掉了。类似地,您不需要使用append来构建列表,您只需在方括号中指定它,如上图所示。如果我们想要尽可能简短,我们可以做dictlist.append([key,value])

或者按照建议的那样使用dict.items()

票数 173
EN

Stack Overflow用户

发布于 2009-11-05 17:36:58

代码语言:javascript
复制
dict.items()

真的很管用。

票数 515
EN

Stack Overflow用户

发布于 2012-03-12 21:46:29

在Python语言中,可以轻松地将dict转换为list。三个例子:

代码语言:javascript
复制
>> d = {'a': 'Arthur', 'b': 'Belling'}

>> d.items()
[('a', 'Arthur'), ('b', 'Belling')]

>> d.keys()
['a', 'b']

>> d.values()
['Arthur', 'Belling']
票数 227
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1679384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档