0

文字列とジェネレーター(forループ)の両方を使用してリストを作成する方法はありますか?

list()は引数を1つだけ取ります。私がこれまでに見ることができる唯一の方法は次のとおりです。

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

私は何が欠けていますか?

4

3 に答える 3

4

1行だけでそれを行う必要がありますか?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

いいえ、2つのリストを連結する必要があります。

chainiterablesを優先して、list一度呼び出すこともできます。

于 2012-07-23T14:06:33.273 に答える