将列表转换为元组对[重复]

Posted

技术标签:

【中文标题】将列表转换为元组对[重复]【英文标题】:Convert list to tuple pair [duplicate] 【发布时间】:2016-01-29 19:18:16 【问题描述】:

从列表中创建组合元组的 Pythonic 方法是什么?

例如 来自:

a = [['A','B','C'], ['D', 'E', 'F']]

收件人:

[('A','D'), ('A', 'E'), ..., ('C', 'E'), ('C','F')]

【问题讨论】:

【参考方案1】:

使用itertools.product。如果您有一个列表列表,请使用“splat”运算符* 来解压缩它们。 product 接受任意数量的迭代:

>>> a = [['A', 'B'], ['C', 'D'], ['E', 'F']]
>>> list(itertools.product(*a))

[('A', 'C', 'E'),
 ('A', 'C', 'F'),
 ('A', 'D', 'E'),
 ('A', 'D', 'F'),
 ('B', 'C', 'E'),
 ('B', 'C', 'F'),
 ('B', 'D', 'E'),
 ('B', 'D', 'F')]

【讨论】:

你可以用list(product(*a))解压列表 如果我不知道列表的长度,有没有通用的方法?例如a= [['A', 'B'], ['C', 'D'], ['E', 'F']]? @alnet 是的,只需使用 Akavall 的提示。我会把它添加到答案中。 是的,这是正确的答案。但是以前有人问过并回答过,你们能帮我把这个问题当作骗子吗?【参考方案2】:

使用列表推导:

[(x,y) for x in a[0] for y in a[1]]

【讨论】:

以上是关于将列表转换为元组对[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在Python中将列表转换为元组[重复]

使用python将csv文件转换为元组列表

将 Scala 列表转换为元组?

将列表列表转换为元组列表列表

将嵌套列表的字典转换为元组列表

如何将字典转换为元组列表?