Python - dict的值是否可以列出?

时间:2011-07-05 19:48:28

标签: python list dictionary key-value

使用Python时,dict可能有一个列表值吗?

例如,一个类似于下面的字典(参见KeyName3的值):

{
keyName1 : value1,
keyName2: value2,
keyName3: {val1, val2, val3}
}

我已经知道我可以使用'defaultdict'但是单个值(可以理解)作为列表返回。

我问的原因是我的代码必须是通用的,以便调用者可以将单个键值作为项目(就像来自dict键值)而不是作为列表(不必指定pop[0]列表) - 但是也可以将多个值检索为列表。

如果没有,那么欢迎任何劝说。

如果有人可以提供帮助,那就太棒了。

先谢谢,

*我正在使用Python 2.6,但编写的脚本也必须与Python 3.0 +向前兼容。

3 个答案:

答案 0 :(得分:26)

是。 dict中的值可以是任何类型的python对象。键可以是任何可清除对象(不允许列表,但允许元组)。

您需要使用[],而不是{}来创建列表:

{ keyName1 : value1, keyName2: value2, keyName3: [val1, val2, val3] }

答案 1 :(得分:6)

是的,有可能:

d = {}
d["list key"] = [1,2,3]
print d

输出:

{'list key': [1, 2, 3]}

答案 2 :(得分:0)

它绝对可以有一个列表和任何对象作为值,但字典不能将列表作为键,因为列表是可变数据结构,键不能是可变的,除了它们的用途。