分别打印每一行

时间:2019-05-09 02:04:29

标签: python row

我对python非常陌生,因此需要根据列创建以下图表。现在,我需要独立打印每一行。考虑到我现在的位置,我该怎么办?从这一点是否可能,或者有更好的方法来创建图表?

我一直在寻找解决方案,但是由于我现在才开始学习,因此我对如何做一无所知。

这就是我现在拥有的

    t160 = [1, 1, 3, 1, 1]
    t170 = [2, 2, 3, 2, 2]
    t180 = [1, 2, 3, 2, 1]
    t190 = [2, 1, 3, 1, 2]

    test = zip(t160,t170,t180,t190)

   fmt = '{:<5}{:<5}{:<5}{:<5}{:<5}'
   print(fmt.format('','160','170','180','190'))
   for i, (t160, t170, t180, t190) in enumerate(test):
        print(fmt.format(i, t160, t170, t180, t190))

产生类似

的结果
         160   170   180   190
   0     1     2     1     2
   1     1     2     2     1
   2     3     3     3     3
   3     1     2     2     1
   4     1     2     1     2

现在,我需要分别结束每一行。 所以,像

   r1 = [1, 2, 1, 2]
   r2 = [1, 2, 2, 1]
   r3 = [3, 3, 3, 3]
   r4 = [1, 2, 2, 1]
   r5 = [1, 2, 1, 2]

或至少是那种性质的东西,但是我不知道下一步要去哪里。任何建议都将非常有用。

2 个答案:

答案 0 :(得分:0)

它应该完全满足您的要求:)

如果您没有numpy库:pip install numpy (我使用python 3。)

import numpy as np

t160 = [1, 1, 3, 1, 1]
t170 = [2, 2, 3, 2, 2]
t180 = [1, 2, 3, 2, 1]
t190 = [2, 1, 3, 1, 2]  


results = np.zeros((4,5))
results[0,:] = t160
results[1,:] = t170
results[2,:] = t180
results[3,:] = t190

for i in range(0,5):
    print("r{} = {} ".format(i+1, results[:,i]))

答案 1 :(得分:0)

您可以这样做:

r1, r2, r3, r4, r5 = test

但是,我相信为每一行使用不同的变量毫无意义。您可以使用以下方法分别获取各个行:

rows = list(test)
print(rows[0])  # First row
print(rows[1])  # Second row
# ...

因此,通常获得第n行:

row[n-1]

请注意,zip对象只能使用一次。