遍历Python中多个列表中值的所有组合

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

给定多个长度可能不同的列表,我想遍历值的所有组合,每个列表中的一项。例如:

first = [1, 5, 8]
second = [0.5, 4]

然后我想要的输出是:

combined = [(1, 0.5), (1, 4), (5, 0.5), (5, 4), (8, 0.5), (8, 4)]

我想遍历 合并 列表。我该如何完成?

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

    itertools.product
    应该可以。

    >>> import itertools
    >>> list(itertools.product([1, 5, 8], [0.5, 4]))
    [(1, 0.5), (1, 4), (5, 0.5), (5, 4), (8, 0.5), (8, 4)]
    

    请注意,它itertools.product返回一个迭代器,因此,如果仅要迭代一次,则无需将其转换为列表。

    例如。

    for x in itertools.product([1, 5, 8], [0.5, 4]):
        # do stuff
    


知识点
面圈网VIP题库

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

去下载看看