在 Python 中,如何在不使用 itertools 的情况下从给定元组列表中组合一组元组?

马绍尔利

给出如下列表:

[(1, 2), (3, 4, 5), (6,)]

我知道使用 itertools 组合元组列表非常容易。

(1, 3, 6), (1, 4, 6), (1, 5, 6), (2, 3, 6), (2, 4, 6), (2, 5, 6)

但是如何在不使用 itertools 的情况下解决它?

缺口

这是一个相当通用的方法,对输入进行一系列循环:

lst = [(1, 2), (3, 4, 5), (6,)]

result = [tuple([l]) for l in lst[0]]
for l in lst[1:]:
    out = []
    for r in result:
        for i in range(len(l)):
            out.append((*r, l[i]))
    result = out

print(result)

输出:

[(1, 3, 6), (1, 4, 6), (1, 5, 6), (2, 3, 6), (2, 4, 6), (2, 5, 6)]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不使用生成器函数的情况下,如何在Python中实现等效于itertools.count的迭代器?

如何在不使用itertools或listtools的情况下创建列表的所有组合?

从python中的元组列表中保留唯一组合

如何在不使用python内置的max和min函数的情况下将给定列表的最大值和最小值转换为元组形式

给定一个列表列表,如何在没有熊猫的情况下使用python获取一组类似output_1的列表?

在python 3中正确使用itertools

Python:如何使用itertools?

将元组列表(从itertools)转换为文本文件Python中的单词列表

如何在不使用集合的情况下从python列表中删除重复的单词?

如何在不使用python的内置方法的情况下将列表中的单词大写?

使用 itertools 组合时避免重复 - python

使用itertools在python中进行组合

python itertools groupby返回元组

如何使用Python 2.7使zip_longest在itertools中可用

在不使用for循环的情况下从Python中的元组中删除特定字符?

如何在不使用 itertools 的情况下编写递归迭代器?

如何确定一组元组中的公共元素-Python

Python itertools 与 sum 组合

无法在Python 3.5.2中导入itertools

Python中itertools.combinations的算法

我在Python的itertools中找不到imap()

python中itertools.tee的替代

使用Python中的itertools / more-itertools对多列列表的项目进行分组和合并

如何在不使用某个特定项目之后出现的项目的情况下,在不使用python方法的情况下计算列表中项目的#of

如何在不使用内置函数的情况下从python中的数组中删除元素

如何在不使用连接参数的情况下从python中的.sql文件中读取数据

如何在不使用PSUtil的情况下获取python 2.7中的CPU使用率

在 Python 中的一组元组上分配值

如何在不使用 Python 中的 urlib2.urlopen 的情况下读取 URL?