python - 列表乘法

标签 python list cartesian-product

<分区>

我有一个列表 L = [a, b, c] 并且我想生成一个元组列表:

[(a,a), (a,b), (a,c), (b,a), (b,b), (b,c)...] 

我试过做 L * L 但没有成功。谁能告诉我如何在 python 中获取它。

最佳答案

你可以用列表理解来做到这一点:

[ (x,y) for x in L for y in L]

编辑

您也可以按照其他人的建议使用 itertools.product,但前提是您使用的是 2.6 及更高版本。列表理解将适用于 Python 2.0 的所有版本。如果您确实使用 itertools.product,请记住它返回一个生成器而不是一个列表,因此您可能需要转换它(取决于您想要用它做什么)。

关于python - 列表乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169838/

相关文章:

python - 物体从 100 m 处落下。从100m高处跌落需要多长时间

python - django:在对象上调用 delete 不会删除文件

python - 一次替换列表中的项目

python - 在 Python 中解析复杂且不断变化的 JSON 数据,深度多个级别

Mysql 从另一个表插入值

python - PyBrain、NFQ 定制网络

javascript - 列表项数组上的 Onclick 事件

mysql - 了解 SQL 中的笛卡尔积

algorithm - 从这些集合的组合中重新创建集合

python - 如何获得 ocr 输出的信任率?