如何在Python中读取数组的第一行

2024-09-27 07:18:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始学习Python,下面是我当前的代码:

#!/usr/bin/python

l = []
with open('datad.dat', 'r') as f:
  for line in f:
    line = line.strip()
    if len(line) > 0:
      l.append(map(float, line.split()))
print l[:,1]

我试图这样做,但犯了使用FORTRAN语法的错误,并收到以下错误:

  File "r1.py", line 9, in <module>
print l[:,1]

类型错误:列表索引必须是整数,而不是元组

如何获取数组的第一行或第一列?


Tags: 代码inforifbinusras错误
1条回答
网友
1楼 · 发布于 2024-09-27 07:18:18

若要打印第一行,请使用l[0],若要获取列,则需要使用zip print(list(zip(*l))[0])进行转置。

In [14]: l = [[1,2,3],[4,5,6],[7,8,9]]  
In [15]: l[0] # first row
Out[15]: [1, 2, 3]    
In [16]: l[1] # second row
Out[16]: [4, 5, 6]   
In [17]: l[2] # third row
Out[17]: [7, 8, 9]    
In [18]: t =  list(zip(*l)) 
In [19]  t[0] # first column
Out[19]: (1, 4, 7)    
In [20]: t[1] # second column
Out20]: (2, 5, 8)   
In [21]: t[2] # third column
Out[21]: (3, 6, 9)

csv module也可能有用:

import csv

with open('datad.dat', 'r') as f:
   reader = csv.reader(f)
   l = [map(float, row) for row  in reader]

相关问题 更多 >

    热门问题