python-3.x - “有没有办法在 Python 中创建元组列表的排列或乘积?”
问题描述
lis=[
(1, 7), (1, 2), (1, 4), (7, 1), (7, 2), (7, 4), (2, 1), (2, 7), (2, 4), (4,
1), (4, 7), (4, 2)
]
假设我有上面的元组列表。我想创建所有可能的元组列表,例如[(1,7,1,2),(1,2,1,4) ...]
. 结果列表中的每个元组必须是列表中 2 个元组的排列,并且结果列表必须包含所有此类元组。
list(permutations(lis,4))
给出结果:[((1, 7), (1, 2), (1, 4), (7, 1)), ((1, 7), (1, 2), (1, 4), (7, 2))...]
。它正在形成一个由 4 个元组组成的元组。但我希望内部元组被解包并由 2 个元组的 4 个元素组成,而不是元组的元组。
解决方案
这是实现它的一种方法:
[a + b for a, b in permutations(lis, 2)]
推荐阅读
- visual-studio - 无法在 IIS Express 上运行为 Docker 准备的项目。CreateHostBuilder: DirectoryNotFoundException
- html - 如何移动这个盒子阴影?
- node.js - Sequelize v4 强制使用 writer db 实例进行 findAll 读取查询
- python - 在 Python 中将两个列表合二为一
- java - 如何使用 React js 在 SpringBoot 中的 DTO 中发送 MultipartFile
- javascript - 无法在箭头函数中调用 useState 挂钩
- javascript - 图像地图上的 onmouse enter 和 onmouseleave 无法使用 IE11 或 Edge 正确触发,但可与其他浏览器一起使用
- python - DRF:API 设计
- angular - 我正在使用的 ng-select 角度库使用回车键选择一个选项,我需要它在选项卡上
- c# - 无法在 JQuery 中获取/绑定正确的实体 ID,总是从迭代中获取第一个项目 ID