Python:为列表中的每个元素获取一个没有该元素的新列表

鲍里斯

我有一个列表,希望从中生成所有缺少一个元素的子列表。

>>> a = [1, 2, 3, 4]
>>> something(a)
[[2,3,4], [1,3,4], [1,2,4], [1,2,3]]
范罗杰

使用itertools.combinations

from itertools import combinations

a = [1, 2, 3, 4]
result = combinations(a, 3)

print(list(result))
# [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]

根据文档,组合“根据输入迭代的顺序以字典顺序发出”。出于您的目的,这意味着结果的第一项将缺少最后一个元素,然后第二项将缺少第二个最后一个元素,依此类推。如果您需要结果的第一项中缺少第一个元素,依此类推,则必须使用来将其反转reversed(),如下所示:reversed(list(combinations(a, 3)))

另外,请记住会combinations返回一个生成器,因此,如果要以列表形式显示它,或者要查看它,则必须先将其转换为列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从python复制列表列表而没有每个列表中的最后一个元素

创建一个列表,该列表在Python中的其他两个列表中每个元素只有一次

为列表中的每个元素分配一个指针

如何获取嵌套列表中的所有元素,其中每个列表的第一个元素是特定数字?

有没有更好的方法来遍历两个列表,每次迭代从每个列表中获取一个元素?

使用Python中每个列表的最后一个元素

python为列表中的每个元素添加一个id

Python如何获取二维列表中的每个第一个元素

获取Python列表中每个元组的第一个元素

是否有一个接受列表并返回该列表中重复元素列表的函数?

在列表中获取一个元素

获取Python中列表的下一个元素

从列表列中的每个列表中获取第一个元素

Python-如何替换列表列表中每个列表的第一个元素

如何获取python列表中的第一个元素并检查它是否为None?

如何获取R中列表的每个元素的最后一个子元素

从每个列表中获取一个元素,随机数量的列表

从列表列表中获取每个第一个元素

Python3-处理大型列表:一个类实例还是为每个元素创建新对象?

如何找到该列表包含另一个列表中的所有元素?

Python:对列表中包含的列表的每个第n个元素运行一个函数

如果下一个元素与Python中的列表相同,则删除该元素

建立一个新的元素列表,该列表在Prolog中的旧列表中显示超过3次

在Python中将列表的每个元素与另一个列表的每个元素相乘/相加/分隔的有效方法

如果python中的每个列表中都存在一个元素,如何有效地串联列表

Python - 在有序列表中的两个元素之间创建一个新的子列表

如何从python列表中的每个列表中拉出第一个元素?

如何使列表中的每个元素在python中成为另一个列表

获取列表中的所有元素,直到其结束或另一个参数 Python