0

有没有一种方法可以同时使用字符串和生成器(for 循环)来创建列表。

list() 只接受一个参数。到目前为止,我能看到的唯一方法是:

row = ['string1','string2']+list((t.string3[-7:]) for t in tobject)

我错过了什么?

4

3 回答 3

4

您只需要在一行中完成吗?chain()有效,但对我来说看起来如此难以理解。以下可能不太优雅,但我认为它更具可读性:

row = ['string1', 'string2']
row.extend(t.string3[-7:] for t in tobject)
于 2012-07-23T14:07:02.567 回答
2
import itertools
list(itertools.chain(('string1','string2'), (t.string3[-7:] for t in tobject)))
于 2012-07-23T14:05:45.617 回答
1

不,您必须连接两个列表。

您可能更喜欢chain可迭代对象,然后调用list它们一次。

于 2012-07-23T14:06:33.273 回答