如果列表位於列表中,如何從列表中獲取項目?所以,如果我有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