我有一個名單讓我們說[[1,2,3,4], [1,2,3,4], [1,2,3,4], [1,2,3,4]]
和它的名字是somelist
。我想要做somelist[:2][:2]
並且返回[[1,2], [1,2]]
。因此,它將列表切片,然後列出並返回該列表。甚至可以在python的一行中做到這一點?如何切片在Python中切片的列表?
0
A
回答
8
您可以使用list comprehension來完成此操作。我改變了你的樣品輸入所選擇什麼使它更清晰:
>>> l = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
>>> print [x[:2] for x in l[:2]]
[[1, 2], [5, 6]]
0
您的列表始終處於一個4x4矩陣16元?如果你只是想拿到4組右下角的元素,嘗試:
>>> l = [[1,2,3,4], [1,2,3,4], [1,2,3,4], [1,2,3,4]]
>>> print [l[2][:2], l[3][:2]]
[[1, 2], [1, 2]]
否則,一般的解決方案被別人提及的名單理解是更好的。
這將是有趣的基準測試,看看哪個更快爲您的用例。雖然這聽起來像是我過早的優化。
1
多維分層很容易與numpy:
import numpy
a = numpy.array([[1,2,3,4], [1,2,3,4], [1,2,3,4], [1,2,3,4]])
print(a[:2,:2])
+0
+1這個有趣的提示。 –
相關問題
- 1. Python列表切片
- 2. 切片python列表
- 3. 切片列表(Python 3中)
- 4. 切片子在Python列表
- 5. 切片串在Python列表
- 6. Python的切片列表
- 7. Python中的「切片列表」和「省略號」;切片列表和列表與列表切片
- 8. 切片??附加列表Python
- 9. Python列表切片錯誤
- 10. Python列表(切片法)
- 11. 在列表中設置python切片
- 12. 如何在cython中切片列表
- 13. 顛倒Python中的列表切片
- 14. Python中的列表切片2
- 15. Python反轉列表中的切片
- 16. 切片Python列表VS切片[R載體
- 17. 在Python中列出簡單的切片?
- 18. 切片python os.listdir()
- 19. 表示連接切片的切片
- 20. Python的嵌套列表切片
- 21. Python的切片分配改變列表
- 22. 切片可能的空列表Python
- 23. 如何遍歷切片映射切片?
- 24. 在python中切片csv
- 25. 在python中比較切片
- 26. 腳本在Python中切片
- 27. 在python問題中切片
- 28. 如何在Python中使用.writerow()切片
- 29. [python]:如何在python3中實現切片?
- 30. 大O的列表切片
當然,它可以在同一行,但你要使用的語法指定列表中的前兩個元素,那麼前兩個元素再次;你想要在每個成員上分一杯羹。無論如何,這屬於SO,很快就會遷移。 – 2011-06-26 00:15:18
...或者有人可能只是在這裏回答。你永遠不會知道。 – larsks