Python:如何在新行中从字符串中打印元素

时间:2019-01-08 00:14:39

标签: python

我在文本文件中有一长串值

[(3.7811269080692846, 0, 1), (3.7811269080692846, 1, 0), (3.7698643400208622, 1, 2), (3.7698643400208622, 2, 1)]

我希望将每个括号以这种格式打印在单独的行上

[(3.7811269080692846, 0, 1), 
(3.7811269080692846, 1, 0), 
(3.7698643400208622, 1, 2), 
(3.7698643400208622, 2, 1)]

这是我将其打印到文件的方式

f = open('contact.txt', 'w')

f.write(str(z))

f.close()

以我想要的格式打印文件的简单方法是什么?

3 个答案:

答案 0 :(得分:0)

这是一种超级懒惰的解决方法:

obj = [(3.7811269080692846, 0, 1),
       (3.7811269080692846, 1, 0),
       (3.7698643400208622, 1, 2),
       (3.7698643400208622, 2, 1)]

with open(r"C:\Temp\test.txt", 'w') as f:
    f.write("[\r\n")
    for tup in obj:
        f.write(f"\t{tup!r},\r\n")
    f.write("]\r\n")

这将使您的所有元组带有一个标签缩进,并确保所有内容都有自己的行。

答案 1 :(得分:0)

这是一种实现方式:

text = [(3.7811269080692846, 0, 1),
        (3.7811269080692846, 1, 0),
        (3.7698643400208622, 1, 2),
        (3.7698643400208622, 2, 1)]

with open('contact.txt', 'w') as f:
    for line in text:
        f.write("{}\n".format(str(line)))

答案 2 :(得分:0)

您可以使用pprint(漂亮的打印件)。

从pprint导入pprint。

array = [某些值]

pprint(array)