在一行迭代中扩展多个元素

Xia*_*hen 4 python iteration loops list

对于

A=[1,2,3]

我想得到

B=['r1','t1','r2','t2','r3','t3']

我知道这是很容易获得['r1','r2','r3']通过

['r'+str(k) for k in A]

如上所示,我如何通过一个线路循环获得B?

非常感谢.

Dan*_*ejo 9

使用嵌套列表理解:

A=[1,2,3]

B = [prefix + str(a) for a in A for prefix in 'rt']
Run Code Online (Sandbox Code Playgroud)


tim*_*geb 6

您可以使用嵌套列表解析.

>>> A=[1,2,3]                                                                                                                            
>>> [fmt.format(n) for n in A for fmt in ('r{}', 't{}')]                                                                                    
['r1', 't1', 'r2', 't2', 'r3', 't3']
Run Code Online (Sandbox Code Playgroud)