如何访问字典中列表的值

7
我该如何使其工作?
color_table = {"Red":[1,2,3], "Blue":[4,5,6]}

我该如何单独访问值?

color_table[Red].0 = 1
color_table[Red].1 = 2
color_table[Red].2 = 3
color_table[Blue].0 = 4
color_table[Blue].1 = 5  

我希望将这些值赋给一个变量。 例如:
x = color_table[Red].0

4
.x替换为[x],并在键周围添加引号:例如,color_table[Red].0应该是color_table["Red"][0]color_table[Red].1应该是color_table["Red"][1],以此类推。 - sacuL
可能是访问列表中的列表项的重复问题。 - Andras Deak -- Слава Україні
1
关于重复问题:列表中的列表,字典中的列表:都无所谓。 - Andras Deak -- Слава Україні
3个回答

6
你已经非常接近了。 请注意在关键字引用时添加引号,例如"Red"和"Blue"。像这样:color_table["Red"] 这将返回字典中该关键字的值,此处为列表。
因此,您可以通过在上面的语句中添加索引操作符来引用该列表的成员,如:color_table["Red"][0] 引用该列表中的第一个元素。
要将其分配给变量,只需使用赋值运算符x = color_table["Red"][0]
您还可以访问Python文档站点以获取有关Python中字典、列表等差异的信息。

2

使用Pythonic的方式:

color_table = {"Red":[1,2,3], "Blue":[4,5,6]}
>>> for val in color_table.values():
...   for item in val:
...     print item
... 
4
5
6
1
2
3

或者

>>> for val in color_table.values():
    ...   for item in val:
    ...     # do something with item

如果您只想静态地分配值:

color_table['Red'][0] = value

0
color_table = {"Red":[1,2,3], "Blue":[4,5,6]}

for key in color_table.keys():
    for i in color_table.get(key):
        print("Key {} Value {}".format(key,i))

在这里,.keys() 是一种允许访问字典键的方法。.get(key) 是一种逐个访问每个键的方法。然后,通过使用嵌套循环,我们可以逐个访问列表中保留的每个键及其值。

6
欢迎来到 Stack Overflow。不带任何解释的代码堆积很少有帮助。Stack Overflow 的目的是学习,而不是提供盲目复制粘贴的代码段。请[编辑]您的问题,并解释它的工作原理,以比提供者提供的更好。 - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接