【问题标题】:Convert Set of Tuples to a List of Lists | Python将一组元组转换为列表列表 | Python
【发布时间】:2021-03-31 19:54:49
【问题描述】:

使用set() 而非itertools 生成独特的组合。

输出一组元组,每个元组分别源自它们的调用。

相反,我现在想将此结果转换为列表。

import itertools

my_list = ['A', 'B', 'C']
pairs = set(itertools.combinations(my_list, 2))
print(pairs)
>>> {('A', 'C'), ('B', 'C'), ('A', 'B')}

相反,我想:

[['A', 'C'], ['B', 'C'], ['A', 'B']]

【问题讨论】:

  • 不要使用list 作为变量名。它是用于创建列表的内置函数,您可能在这里需要它。如果列表中的元素不同,则在 itertools 的结果上调用 set 是没有意义的。只需在 itertools 输出上直接使用简单的列表推导即可。
  • 是的,但是失败了。我也看到了很多类似的帖子,但不是这个问题。由于 set() 和 itertools 经常一起使用,我认为这个 Q&A 将是其他人复制的一个很好的资源。
  • 你到底尝试了什么?
  • @juanpa.arrivillaga 列表理解循环;这是我的理想。
  • [list(i) for i in itertools.combinations(my_list, 2)] 首先跳过不需要的容器,直接进入列表

标签: python list set tuples itertools


【解决方案1】:
a =[[item for item in pair] for pair in pairs]
print(a)

返回

[['B', 'C'], ['A', 'C'], ['A', 'B']]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多