我有两个清单:
>>> a = ["question1", "question2", "question3", "question4", "question5"]
>>> b = ["php html", "html", "html", "java", "php"]
然后我使用以下方法获得了一个二维数组:
>>> c = (a,b)
现在我希望创建一个子集,c只保留与问题 i 到 j 对应的行。
我试过了:
c[i:j+1][0:1]
和许多其他事情,但无法弄清楚。
我有两个清单:
>>> a = ["question1", "question2", "question3", "question4", "question5"]
>>> b = ["php html", "html", "html", "java", "php"]
然后我使用以下方法获得了一个二维数组:
>>> 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 并没有真正的二维数组(numpy 有,但这不是标准库)。你所拥有的是一个包含两个元素的元组,这两个元素都是列表。
您可以创建一个新元组,它由旧元组元素的正确切片组成:
newtuple = tuple(elem[i:j+1] for elem in c)