我有一个文本文件,我希望我的程序(在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]
我需要这样做,因为我应该找到每列的最大值(具有相同索引的元素)。所以我想如果我把它们放在一个列表中会更容易找到它们的最大值,但我不知道如何写它。
答案 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 列。