字符串和for循环中的python列表

字符串和for循环中的python列表,python,list,for-loop,Python,List,For Loop,是否有一种方法可以使用字符串和生成器(for循环)创建列表 list()只接受一个参数。到目前为止,我能看到的唯一方法是: row = ['string1','string2']+list((t.string3[-7:]) for t in tobject) 我遗漏了什么?不,您必须连接两个列表 import itertools list(itertools.chain(('string1','string2'), (t.string3[-7:] for t in tobject))) 您可

是否有一种方法可以使用字符串和生成器(for循环)创建列表

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

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

我遗漏了什么?

不,您必须连接两个列表

import itertools
list(itertools.chain(('string1','string2'), (t.string3[-7:] for t in tobject)))

您可能更喜欢使用iterables,然后对它们调用一次
list

是否只需要一行
chain()
可以工作,但我看它太难读了。以下内容可能不那么优雅,但我认为更具可读性:

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

我是说。。。你希望它看起来像什么?与你现在拥有的相比,你希望得到什么?实际上,在这个特殊的例子中,我发现这个比
更优雅。是什么让它不那么优雅?有时两行比一行好。(+1来自我)