Python中包含list / tuple的多个%s

时间:2015-03-18 08:13:11

标签: python tuples fwrite

我试图将相同的字符串从列表/元组输出到不同的%s,我尝试使用它:

A = ('A', 'B', 'C', 'D')
# A = list(('A', 'B', 'C', 'D')
print type(A)
output = open('output.txt', 'w')
output.writelines('Multiple outputs like %s and %s\n' % (f for f in A, f for f in A))
output.close()

如何在Python中完成?

但它会产生语法错误。我需要一个表格的输出:

Multiple outputs like A and A
Multiple outputs like B and B
Multiple outputs like C and C
Multiple outputs like D and D

3 个答案:

答案 0 :(得分:1)

这应该有效:

output.writelines(('Multiple outputs like %s and %s\n' % (f,f)) for f in A)

答案 1 :(得分:1)

执行此操作的最Pythonic方法是使用output.writelines()string.format()函数:

output.writelines(('Multiple outputs like {word} and {word}\n'.format(word=w) for w in A))

答案 2 :(得分:0)

我可能会这样做:

output.writelines(('Multiple outputs like %s and %s\n' % t for t in zip(A, B))

在这里,我假设您实际上并不想要两次相同的值(否则,请参阅@Petter的答案),但有一个单独的可迭代B,您希望看到& #34;成对"在输出中使用A