小编典典

将值插入列表中所有可能的位置

python

我正在尝试打印给定列表的所有可能结果,并且我想知道如何在列表的各个位置添加值。例如,如果我的名单是[A, B],我要插入X到列表中的所有可能的索引,使得它会返回此[X, A, B][A, X, B][A, B, X]

我在考虑使用range(len())for循环,但不确定如何启动。


阅读 180

收藏
2020-12-20

共1个答案

小编典典

您可以通过以下列表理解来做到这一点:

[mylist[i:] + [newelement] + mylist[:i] for i in xrange(len(mylist),-1,-1)]

以您的示例为例:

>>> mylist=['A','B']
>>> newelement='X'
>>> [mylist[i:] + [newelement] + mylist[:i] for i in xrange(len(mylist),-1,-1)]
[['X', 'A', 'B'], ['B', 'X', 'A'], ['A', 'B', 'X']]
2020-12-20