已编辑:我尝试在使用 for 循环时从字典调用

Edited: I'm trying to call from a dict while using a for loop

提问人:Kazuala 提问时间:11/17/2023 最后编辑:Kazuala 更新时间:11/17/2023 访问量:72

问:

例如,当我尝试使用整数从字典调用时:

dict = {
  'red' : 'purple',
  'blue' : 'orange',
  'green' : 'cyan'
}
item = dict[0]

(在此示例中,我希望结果为“紫色”)
它给了我一个错误,有没有人解决这个问题

我尝试做了很多不同的事情,例如其中的一些:

item = dict[(.)]
item = dict(.)
item = dict{.}
item = dict{(.)}

有没有人有一种实际有效的方法,被告知你不能使用索引

Python 数组

评论

3赞 wim 11/17/2023
这不是一个列表,而是一个字典,字典不能按位置索引。第一个 dict 值可以使用next(iter(d.values()))
0赞 alec_djinn 11/17/2023
那不是列表,而是字典。此外,使用 list 作为变量名称不是一个好主意,python 已经使用了 list

答:

0赞 Faruk Karaca 11/17/2023 #1

Python 中的字典没有排序,因此它们不像列表那样有索引。 相反,您应该使用键访问字典值

item = my_dict['red']
print(item)

评论

1赞 juanpa.arrivillaga 11/17/2023
风管是有序的,但它们不能按位置进行转位
0赞 Faruk Karaca 11/17/2023
我的 python 信息可能已过时。你知道它是在哪个版本之后订购的吗?@juanpa.arrivillaga
1赞 Jab 11/17/2023
@FarukKaraca Python 3.6+
0赞 Faruk Karaca 11/17/2023
谢谢@Jab
-2赞 mozway 11/17/2023 #2

您的“列表”是一本字典,不能按位置进行索引。如果要按位置索引,请转换为列表:

item = list(lst.values())[0]

或者,如果要重复该过程:

actual_lst = list(lst.values())
item = actual_lst[0]

输出:'purple'