读取文件作为垂直列表和水平列表(python 3.2)

时间:2013-03-29 16:36:44

标签: python

我有一个文本文件,我希望我的程序(在python 3.2中)作为列表读取(1)每一行然后(2)我想在(1)中创建包含具有相同索引的元素的新列表。像这样:

shagy 2 3 4 5 6  
dely 3 4 5 6 7 

horizental lists = [shagy,2,3,4,5,6] and [dely,3,4,5,6,7]  
vertical lists = [shagy,dely] and [2,3] and [3,4] and [4,5] and [5,6] and [6,7] 

我需要这样做,因为我应该找到每列的最大值(具有相同索引的元素)。所以我想如果我把它们放在一个列表中会更容易找到它们的最大值,但我不知道如何写它。

1 个答案:

答案 0 :(得分:1)

使用.split()将行拆分为列表,并使用zip(*lines)将行转换为列。

with open('filename') as inputfile:
    rows = [line.split() for line in inputfile]

columns = zip(*rows)

行中的值仍为字符串值,但您现在可以将它们映射到int

int_columns = [map(int, col) for col in columns[1:]]

这会跳过带有名称的 first 列。