作爲一種簡單的方法來測試拉出一個大的地形設置,輸入在我的節目一個二維表的某些元素的正確方式,我把下面的到Python殼牌:從2D python列表中拉出某些元素?
->>>test = [ [1,2,3],[4,5,6],[7,8,9] ]
,並在努力來測試它,我得到這個:
->>>test1 = test[:][2]
->>>test1
[7, 8, 9]
從輸入test[:][2]
我預計TEST1返回[3,6,9]
有人能向我解釋爲什麼我[7,8,9]
呢?
此外,如果你能解釋我將如何得到[3,6,9]
的輸出?我知道我可以只說以下內容:
>>>test1 = [ test[0][2], test[1][2], test[2][2] ]
,但如果我在我的程序的情況下寫的,這條線將是程較長且難以維護。如果比上面列出的方式更容易獲得[3,6,9]
,我將非常感謝您獲得該信息的一些見解。
更具體地說,'測試[:]'是*副本*'test',不只是一個參考...例如,如果你這樣做'a = test','a'和'test'仍然會引用相同的列表,但現在使用'a = test [:]','a'和'test'指向不同的列表。 – SethMMorton
是的,你是對的,忘記提及,我的意思是,爲了用戶的目的,它實際上等於測試:) –
我討厭它當人們挑選我的答案,所以對此感到抱歉:)我只是認爲,在這種特殊情況下解釋爲什麼這個符號首先存在可能是有用的。 – SethMMorton