我是python的新手,我想知道我是否有办法在特定索引处提取值。假设我有一个与多个值(list
)关联的键。
d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
假设我要遍历值并打印出等于“ DOG”的值。值键对是否具有与值的位置相关联的特定索引?
我已经尝试阅读dict以及它的工作方式,显然您无法对其进行索引。我只是想知道是否有办法解决这个问题。
答案 0 :(得分:2)
您可以执行以下操作(包括注释):
d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
for keys, values in d.items(): #Will allow you to reference the key and value pair
for item in values: #Will iterate through the list containing the animals
if item == "DOG":
print(item)
print(values.index(item)) #will tell you the index of "DOG" in the list.
答案 1 :(得分:0)
所以也许这会有所帮助:
d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
for item in d:
for animal in (d[item]):
if animal == "DOG":
print(animal)
更新-如果我想比较字符串以查看它们是否相等,该怎么办...让我们说一下第一个索引处的值是否等于第二个索引处的值。
您可以使用此:
d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
for item in d:
for animal in (d[item]):
if animal == "DOG":
if list(d.keys())[0] == list(d.keys())[1]:
print("Equal")
else: print("Unequal")
答案 2 :(得分:0)
字典中的键和值由键索引,并且没有列表中的固定索引。
但是,您可以利用'OrderedDict'的使用为字典提供索引方案。它很少使用,但方便。
话虽这么说,python3.6中的字典按插入顺序排列:
有关此内容的更多信息:
答案 3 :(得分:0)
d = {'animal': ['cat', 'dog', 'kangaroo', 'monkey'], 'flower': ['hibiscus', 'sunflower', 'rose']}
for key, value in d.items():
for element in value:
if element is 'dog':
print(value)
这有帮助吗?还是要在字典中打印键索引?