问题描述
#attempt to print the contents individually-Failed
cut=(
('total genes',Signature_1,str(len(NameA))),('up genes',str(len(upA))))
for i in cut:
print(i)
#actual output=('total genes','V.txt','3725')
#desired output=total genes V.txt 3725
#example of multiple print commands I would like to execute and write to a file
print('down genes',len(downA)),print('total genes',Signature_2,len(NameB)),print('up genes',len(upB)),
尝试在单个变量下合并多个打印语句,并执行for循环以打印该变量中的每一行。最终,我这样做是为了将输出写入.txt文件。 sys.stdout确实执行了所需的功能,但是该块的作用类似于递归循环,并且永远不会终止,寻找替代方案。到目前为止,我唯一的想法是将每个文本分组在一个变量下并执行for循环(此操作失败)。我的第二种方法是将多个打印方法归类到一个变量下,并从变量级别执行每个方法(同样失败,并且不确定是否可能)。任何替代或建议,将不胜感激。
解决方法
您可以使用list comprehension
来连接cut
和join
中的嵌套元组,再将第一个join
生成的多个字符串分成几行,例如如下所示:
cut=(
('total genes',Signature_1,str(len(NameA))),('up genes',str(len(upA))))
lines = '\n'.join([' '.join(i) for i in cut])
这对您有用吗?