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

发布于 2021-01-29 19:34:30

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

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

关注者
0
被浏览
80
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

    [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']]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看