我有一个Python函数,使用列表推导式递归编程。但我并不清楚它到底发生了什么!
该函数有两个参数,第一个是字符串,第二个是列表,它返回字符串在该列表中的排列。
有人能解释一下列表推导式中发生了什么吗?
def permut(s,l):
if l == []: return [[s]]
return [ e + [l[0]] for e in permut(s, l[1:])] + [l+[s]]
该函数有两个参数,第一个是字符串,第二个是列表,它返回字符串在该列表中的排列。
permut('a', [1,2,3])
[['a', 3, 2, 1], [3, 'a', 2, 1], [2, 3, 'a', 1], [1, 2, 3, 'a']]
有人能解释一下列表推导式中发生了什么吗?