rho*_*ron 2 python list permutation
有点奇怪的要求.
假设我有以下列表:
[1,2,3]
Run Code Online (Sandbox Code Playgroud)
我希望通过每个索引获取数字9,以获得以下列表列表:
[[9,1,2,3],
[1,9,2,3],
[1,2,9,3],
[1,2,3,9]]
Run Code Online (Sandbox Code Playgroud)
知道如何轻松做到这一点吗?还有,这种东西有名字吗?
编辑:我意识到我可以做以下事情:
lists=[]
for i in range(4):
new_list = [1,2,3]
new_list.insert(i,9)
lists+=[new_list]
Run Code Online (Sandbox Code Playgroud)
但我认为这不优雅.思考?
你可以做点什么
l = [1,2,3]
new_l = [l[:i] + [9] + l[i:] for i in range(len(l) + 1)]
Run Code Online (Sandbox Code Playgroud)