我有一个包含字符串和整数的嵌套列表,我正在尝试将其保存到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
这可能是一个非常新手的问题,但我找不到与搜索相似的任何内容......
答案 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)))