我正在尝试列表理解。但是,当我尝试为以下代码编写列表理解时,我陷入了困境。
a = ['x','y','z']
result = []
for i in a:
for j in range(1,5):
s = ''
for k in range(j):
s = s + i
result.append(s)
result
此输出为:
['x', 'xx', 'xxx', 'xxxx', 'y', 'yy', 'yyy', 'yyyy', 'z', 'zz', 'zzz', 'zzzz']
是否有可能为此代码编写列表推导?如果要怎么写呢?
答案 0 :(得分:12)
这里是:
[ x * i for x in ['x','y','z'] for i in range(1,5) ]
结果:
['x', 'xx', 'xxx', 'xxxx', 'y', 'yy', 'yyy', 'yyyy', 'z', 'zz', 'zzz', 'zzzz']
答案 1 :(得分:2)
a = ['x','y','z']
result = []
result+=[i*j for i in a for j in range(1,5)]
result
这将起作用
答案 2 :(得分:1)
可能!!!!
>>> a = ['x','y','z']
>>> sorted([i*j for j in range(1,5) for i in a])
['x', 'xx', 'xxx', 'xxxx', 'y', 'yy', 'yyy', 'yyyy', 'z', 'zz', 'zzz', 'zzzz']