嵌套列表并保存到文本文件中

时间:2016-12-08 17:24:10

标签: python arrays save

我有一个包含字符串和整数的嵌套列表,我正在尝试将其保存到txt文件中,但我在格式化方面遇到了问题。

array = [(string1, int1),(string2, int2),(string3, int3),...(string_n, int_n)]
with open("output.txt", "w") as f:
    f.write(repr(array))

并按原样保存数组。

如何格式化输出以使格式如下而不是数组?

string1 int1
string2 int2
.
.
.
string_n int_n

这可能是一个非常新手的问题,但我找不到与搜索相似的任何内容......

3 个答案:

答案 0 :(得分:2)

for s, i in array:
    f.write('{} {}\n'.format(s, i))

如果write包含换行符,我不记得我的头脑,但我很确定它没有。

答案 1 :(得分:2)

使用以下内容:

array = [('s1', 1),('s2', 2)]

with open('out.txt', 'w') as f:
    for item in array:
        f.write('{} {}\n'.format(*item))

<强>输出:

s1 1
s2 2

答案 2 :(得分:1)

您可以使用join代替

for sub_array in array:
     f.write(' '.join(sub_array))

这适用于任意长度的数组。

如果你有一个列表列表而不是一个混合类型数组,那么你需要在使用连接之前将元素强制转换为字符串(如@Blckknght所指出的那样)。

这可能看起来像这样

for sub_array in array:
     f.write(' '.join(map(str,sub_array)))