如何在python 3.4中从文件中读取列并将每一列添加到单独的列表中



我需要动态代码:

如果文件数据如下所示,那么如何在python 3.4.1.中分别将其每列添加到3个列表中?

0 4 5
1 0 0
1 56 96

我尝试从文件中读取数据,并将其存储在如下列表中:scores = [['0','4', '5'],['1','0','0], ['1', '56','96']]。但现在我不知道如何编写代码,将这个数组的每个第一个字母放入3个单独的列表或数组中。如:list1 = [0, 1,1]list2 = [4,0,56]list3 = [5,0,96]

感谢

基本上,您有一个行列表,您需要一个列列表。这被称为转座,可以用Python非常简洁地写成:

columns = zip(*scores)

完成此操作后,columns[0]将包含第一列,columns[1]将包含第二列,依此类推。这些列将是元组。如果你真的需要列表,你可以将list函数应用于结果:

columns = map(list, zip(*scores))

这种看起来很神奇的语法首先使用*运算符,该运算符将参数列表解包。这意味着zip(*scores)等价于:

zip(['0','4', '5'], ['1','0','0'], ['1', '56','96'])

请注意,scores列表中的每个元素现在都是zip函数的不同自变量。然后我们使用zip函数。

最新更新