【问题标题】:print file side by side in python在python中并排打印文件
【发布时间】:2021-02-27 21:51:39
【问题描述】:

尊敬的专家,我有一个程序可以调用 x 和 y 并通过命令 print(x,y) 打印 x 和 y,如下所示

[2.63732473e-002 6.95547303e-005 1.83437361e-007 4.83776370e-010
 1.27583713e-012 3.36458575e-015 8.87257918e-018 2.33965401e-020
 6.16901626e-023 1.62648985e-025 4.28780820e-028 1.13020771e-030]
[2.97870294e-033 7.84889062e-036 2.06774505e-038 5.44613117e-041
 1.43405459e-043 3.77498976e-046 9.93370767e-049 2.61308006e-051
 6.16901626e-023 1.62648985e-025 4.28780820e-028 1.13020771e-030]

但我只想在两列中打印 x 和 y,如下所示

  x                        y
2.63732473e-002          2.97870294e-033
6.95547303e-005          7.84889062e-036
1.83437361e-007          2.06774505e-038
4.83776370e-010          5.44613117e-041
1.27583713e-012          1.43405459e-043 
3.36458575e-015          3.77498976e-046
8.87257918e-018          9.93370767e-049
2.33965401e-020          2.61308006e-051
6.16901626e-023          6.16901626e-023 
1.62648985e-025          1.62648985e-025 
4.28780820e-028          4.28780820e-028
1.13020771e-030          1.13020771e-030
    

但是我尝试了print(str(x[:,None]),str(y[:,None])),但它仍然垂直打印而不是并排打印。希望一些专家能帮助我。谢谢。

【问题讨论】:

标签: python arrays string numpy printing


【解决方案1】:

您可以使用zipjoin

对带有“{:e}”作为str的数字使用str.format(),以科学计数法格式化数字。

print("\n".join(f"{i:e}   {j:e}" for i, j in zip(x, y)))

【讨论】:

  • 我想保存输出,如何保存而不是打印
  • 您可以将字符串写入文件:with open(PATH_TO_FILE, "w") as f: f.write("\n".join(f"{i:e} {j:e}" for i, j in zip(x, y)))
【解决方案2】:

您可以使用\t 来设置制表符的格式。例如:

print("%d\t\t%d" % (x, y))

【讨论】:

    【解决方案3】:

    你只需要:

    打印(x,y,'\n')

    【讨论】:

      【解决方案4】:

      您需要做的是同时在两个列表上进行迭代并像这样打印等效字段:

      print(f'x        y')
      for i in range(len(x)):
         print(f'{x[i]}        {y[i]}')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-14
        • 1970-01-01
        相关资源
        最近更新 更多