Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在一行迭代中扩展多个元素_Python_List_Loops_Iteration - Fatal编程技术网

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

Python 在一行迭代中扩展多个元素,python,list,loops,iteration,Python,List,Loops,Iteration,为了 A=[1,2,3] 我想去 B=['r1','t1','r2','t2','r3','t3'] 我知道通过以下方式很容易获得['r1'、'r2'、'r3'] ['r'+str(k)表示A中的k] 我怎样才能通过一行循环得到B,正如我上面展示的那样 非常感谢。请使用: 可以使用嵌套列表 >>> A=[1,2,3]

为了

A=[1,2,3]

我想去

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

我知道通过以下方式很容易获得
['r1'、'r2'、'r3']

['r'+str(k)表示A中的k]

我怎样才能通过一行循环得到B,正如我上面展示的那样

非常感谢。

请使用:


可以使用嵌套列表

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

使用
itertools.product

import itertools
list(itertools.product(*[[1,2,3],['r','t']]))
Out[20]: [(1, 'r'), (1, 't'), (2, 'r'), (2, 't'), (3, 'r'), (3, 't')]
[y +str(x) for x, y in list(itertools.product(*[[1, 2, 3], ['r', 't']]))]
Out[22]: ['r1', 't1', 'r2', 't2', 'r3', 't3']

可能是重复的,我想你可能想要
y+str(x)
,但除此之外,很好地利用itertoolsIs有一些人在这里对所有答案投了反对票?你最好留下一张支票reason@Woody1193谢谢你,这看起来像是一行中的两个循环!它起作用了!谢谢!我最喜欢这个答案!太清楚了!非常感谢你!
import itertools
list(itertools.product(*[[1,2,3],['r','t']]))
Out[20]: [(1, 'r'), (1, 't'), (2, 'r'), (2, 't'), (3, 'r'), (3, 't')]
[y +str(x) for x, y in list(itertools.product(*[[1, 2, 3], ['r', 't']]))]
Out[22]: ['r1', 't1', 'r2', 't2', 'r3', 't3']