如果列表位于列表中,如何从列表中获取项目?所以,如果我有Python:从列表中获取项目
mylist=[[range(4*(x-1)+1,4*(x-1)+5)]for x in range(1,5)]
那么我怎么能从中检索'1'?我一直认为它就像
print mylist[0][0]
但它不起作用。
如果列表位于列表中,如何从列表中获取项目?所以,如果我有Python:从列表中获取项目
mylist=[[range(4*(x-1)+1,4*(x-1)+5)]for x in range(1,5)]
那么我怎么能从中检索'1'?我一直认为它就像
print mylist[0][0]
但它不起作用。
这实际上是一个三重嵌套列表,因为range()
返回一个列表,然后将其包装在[]
中。
你真正想要的也许是什么...
mylist=[range(4*(x-1)+1,4*(x-1)+5) for x in range(1,5)]
在这一点mylist[0][0]
应该做你的期望。
请记住,range()不会在Python 3中返回一个列表。您可以使用list(range())'使它在Python 2和Python 3中均可用。 – phant0m
是的,这完全正确!我没有意识到名单本身就是问题所在。非常感谢所有人! – RubenGeert
讨厌被船长明显,但你需要做的一切都只是去1个更深层次:)
>>> mylist=[[range(4*(x-1)+1,4*(x-1)+5)]for x in range(1,5)]
>>> mylist
[[[1, 2, 3, 4]], [[5, 6, 7, 8]], [[9, 10, 11, 12]], [[13, 14, 15, 16]]]
>>> mylist[0][0][0]
1
你得到一个错误,或者只是你不期待值? – ApproachingDarknessFish