[英]Python how to get a subset of a two-dimensional array?
我有兩個清單:
>>> a = ["question1", "question2", "question3", "question4", "question5"]
>>> b = ["php html", "html", "html", "java", "php"]
然后我使用以下方法獲得了2D數組:
>>> c = (a,b)
現在我希望創建一個c
的子集,只保留對應於問題i到j的行。
我試過了:
c[i:j+1][0:1]
還有很多其他的東西,但無法弄清楚。
你可以使用zip()
:
>>> a = ["question1", "question2", "question3", "question4", "question5"]
>>> b = ["php html", "html", "html", "java", "php"]
>>> merged = zip(a, b)
>>> merged[0:2]
[('question1', 'php html'), ('question2', 'html')]
然后,您可以通過迭代元組列表單獨獲取問題和答案(如果需要)。
你可以像這樣使用zip
功能
a = ["question1", "question2", "question3", "question4", "question5"]
b = ["php html", "html", "html", "java", "php"]
c = (a, b)
print zip(*c)[1:3]
產量
[('question2', 'html'), ('question3', 'html')]
Python實際上沒有2D數組(numpy確實如此,但那不是標准庫)。 你有一個元組有兩個元素,這兩個元素都是列表。
你可以創建一個新的元組,它包含舊元組元素的正確切片:
newtuple = tuple(elem[i:j+1] for elem in c)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.