这段代码不起作用,我得到" IndexError:list index超出范围"错误,但不知道为什么,任何人都知道为什么这不起作用?感谢。
print([cp_props[x]][1])
它应该获取列表中项目的名称,这是anothert列表的名称,然后打开该列表中的第2个元素???
好的,现在它的工作原理如下:
globals()[cp_props[x]][1]
但还有其他更简单的方法吗?谢谢。
答案 0 :(得分:1)
[cp_props[x]]
是一个单元素列表。它唯一的元素是cp_props[x]
,无论它是什么。这是元素编号0.没有元素编号1,这就是选择表达式[1]
失败的原因。
表达式globals()[cp_props[x]][1]
具有完全不同的含义。从左到右阅读:
globals()
是全局变量列表。globals()[cp_props[x]]
是该列表中的一个选择 - 即一些全局变量。globals()[cp_props[x]][1]
是 全局变量的第二个元素。