首页 > 解决方案 > 在 python 中使用 enumerate() 访问列表中的“Actions”对象

问题描述

# Python program to illustrate 
# enumerate function 
l1 = [{'Actions':("eat","sleep","repeat"), 'members':("1028", "jeram", "chilaw")}] 
s1 = "geek"

# creating enumerate objects 
obj1 = enumerate(l1) 
obj2 = enumerate(s1) 

print "Return type:",type(obj1) 
print list(enumerate(l1['Actions'])) 

# changing start index to 2 from 0 
print list(enumerate(s1,2)) 

需要使用 enumerate 函数在 (l)1 列表中打印“Action”对象。但发生一个错误,说列表索引必须是整数,而不是 str。帮我解决这个问题。

我得到的错误是,

Traceback (most recent call last):
  File "/home/25b7a4de08d5472b64b462006452cf1f.py", line 11, in <module>
    print list(enumerate(l1['Actions'])) 
TypeError: list indices must be integers, not str

请给我任何解决方案。在此先感谢。

标签: pythonindexingenumerate

解决方案


您没有访问字典;索引您的列表,获取字典。

采用:

list(enumerate(l1[0]['Actions']))

代替:

list(enumerate(l1['Actions']))

推荐阅读