Python 基于变量的文件格式缩进
我有一个元组列表,如下所示:Python 基于变量的文件格式缩进,python,file,if-statement,formatting,Python,File,If Statement,Formatting,我有一个元组列表,如下所示: [(1, u'Category'), (2, u'Item'), (3, u'SubItem'), (4, u'N/A'), (1, u'Features'), (2, u'Tool Baseline')] 我想使用基于每个元组第一个元素的缩进写入文件: Category Item SubItem N/A Features Tool Baseline 我是Python新手,我正在寻找一种简单的方法来实现这
[(1, u'Category'), (2, u'Item'), (3, u'SubItem'), (4, u'N/A'), (1, u'Features'), (2, u'Tool Baseline')]
我想使用基于每个元组第一个元素的缩进写入文件:
Category
Item
SubItem
N/A
Features
Tool Baseline
我是Python新手,我正在寻找一种简单的方法来实现这一点,而不是:
if tup[0] == 1
file.write('\t')
file.write(tup[1])
(这些元组过去是多层树的一部分,每个数字代表一个分支。)Python比你想象的更棒:
file.write('\t' * tup[0])
file.write(tup[1])
你可以乘字符串!在下面的
中,pair[0]*'\t'
将为您提供pair[0]
制表符
>>> x = [(1, u'Category'), (2, u'Item'), (3, u'SubItem'), (4, u'N/A'), (1, u'Features'), (2, u'Tool Baseline')]
>>> for pair in x:
... print pair[0]*'\t' + pair[1]
...
Category
Item
SubItem
N/A
Features
Tool Baseline
>>>
只需将打印替换为文件I/O操作即可
file.write('\t'*tup[0])
file.write(tup[1])