文字列とジェネレーター(forループ)の両方を使用してリストを作成する方法はありますか?
list()は引数を1つだけ取ります。私がこれまでに見ることができる唯一の方法は次のとおりです。
row = ['string1','string2']+list((t.string3[-7:]) for t in tobject)
私は何が欠けていますか?
1行だけでそれを行う必要がありますか?chain()
動作しますが、私にはとても読めないように見えます。以下はおそらくあまりエレガントではありませんが、はるかに読みやすいと思います。
row = ['string1', 'string2']
row.extend(t.string3[-7:] for t in tobject)
import itertools
list(itertools.chain(('string1','string2'), (t.string3[-7:] for t in tobject)))
いいえ、2つのリストを連結する必要があります。
chain
iterablesを優先して、list
一度呼び出すこともできます。