目标
我想作为生成序列list中python,如:
['s1a', 's1b', 's2a', 's2b', ..., 's10a', 's10b']
Run Code Online (Sandbox Code Playgroud)
属性:
途径
为此,我使用了一个xrange全面的列表方法来应用以下代码:
# prefix
p = 's'
# suffix
s = ['a', 'b']
# numbers
n = [ i + 1 for i in list(xrange(10))]
# result
[ p + str(i) + j for i, j in zip(sorted(n * len(s)), s * len(n)) ]
Run Code Online (Sandbox Code Playgroud)
题
是否有更简单的语法来获得结果,例如使用itertools?与此问题类似?
双重列表理解可以实现这一点:
['s'+str(x)+y for x in range(1,11) for y in 'ab']
Run Code Online (Sandbox Code Playgroud)