在Python中从单个循环创建多个字符串的单行程序

Ast*_*rid 1 python string

使用列表理解我可以创建像这样简单的东西

['X{}'.format(x) for x in range(2)]
Run Code Online (Sandbox Code Playgroud)

从而产生['X0', 'X1']. 但我想创建单独的多个输出字符串,最好来自同一个列表理解语句。

我希望我的输出['X0','Y0','Z0','X1','Y1' 'Z1']自然地类似于['X{},Y{},Z{}'.format(x,x,x) for x in range(2)],但不太符合要求。

关于如何在一行中完成此操作有什么想法吗?

编辑:它在一行上并不重要,但它会很好。

Mos*_*oye 5

这是使用嵌套理解来完成此操作的一种方法:

r = ['{}{}'.format(ch, x) for x in range(2) for ch in 'XYZ']
print(r)
# ['X0', 'Y0', 'Z0', 'X1', 'Y1', 'Z1']
Run Code Online (Sandbox Code Playgroud)