在python中打印行

时间:2018-11-03 14:58:16

标签: python python-3.x list

我可以更改什么,以便仅获得第一行的列表? 即

0 1
1 2
2 3
3 4

我尝试了以下方法:

matrix = [[1, 2, 3, 4],
    [3, 5, 7, 9],
    [4, 6, 8, 10],
    [5, 7, 9, 11]]
for index in range(len(matrix)):
    print(index,matrix[index][0])

0 1
1 3
2 4
3 5

4 个答案:

答案 0 :(得分:0)

这应该有效:

matrix = [[1, 2, 3, 4],
    [3, 5, 7, 9],
    [4, 6, 8, 10],
    [5, 7, 9, 11]]

for index in range(len(matrix)):
    print(index,matrix[0][index])

您试图从每个列表中获取第一个元素,上面的代码将从第一个列表中获取所有元素。

答案 1 :(得分:0)

假设您的matrix是行列表:

print(matrix[0])

或者如果您希望每行一项:

for value in matrix[0]:
    print(value)

如果需要索引:

for index, value in enumerate(matrix[0]):
    print(index, value)

答案 2 :(得分:0)

matrix = [
      [1, 2, 3, 4],
      [3, 5, 7, 9],
      [4, 6, 8, 10],
      [5, 7, 9, 11]
    ]

matrix[0]给您第一行,只是像这样迭代它:

# ONLY ITERATING OVER THE FIRST ROW
for item in matrix[0]:
  print(item)

答案 3 :(得分:0)

您需要:

print(index,matrix[0][index])

代替:

print(index,matrix[index][0])

这是因为第一个索引与外部列表(行)相关联。 matrix[index]返回整行,然后对其进行切片,则返回该行中的元素。

您还应该更改:

for index in range(len(matrix)):

收件人:

for index in range(len(matrix[0])):

出于同样的原因。由于它是一个方矩阵,所以无论哪种方式都可以解决,但这很幸运。实际上,为简单起见,最好只是这样做:

for i, e in enumerate(matrix[0]):
    print(i, e)

在循环的每次迭代中,enumerate()产生一个由索引和元素组成的元组。如果不需要索引,则可以进一步简化为:

for e in matrix[0]:
    print(e)

如果您还没有从列表开始(或者其他可迭代的内容),通常只需要使用range()