1

似乎应该有一个更简单的方法来做到这一点:

header_line = [x for x in my_dict.keys()]
header_line.insert(0, "1st column\t2nd column")
header_line.append("note")
print "\t".join(map(str, header_line))

我天真地认为以下应该可以工作,但是在 header_line 上出现语法错误:

header_line = ["1st column", "2nd column", x for x in my_dict.keys(), "note"] 
print "\t".join(map(str, header_line))
4

2 回答 2

4

怎么样

header_line = ['1st column', '2nd column'] + [x for x in my_dict.keys()] + ['note']

正如评论中所提到的,对于这种情况,您可以只使用my_dict.keys()or list(my_dict),但上面的示例仍然可以作为一个示例,说明当列表推导无法轻易消除时如何执行此操作。

于 2013-10-27T20:58:46.983 回答
2

itertools.chain如果您有更多代生成器,则可以使用:

import itertools

print "\t".join(itertools.chain(["1st column", "2nd column"], my_dict, ["note"]))
于 2013-10-27T21:04:15.307 回答