python - 将列表切分成长度为 2 的子列表
问题描述
我有一个类似下面的列表(类似于下面但更长)
[123.45、32.89、234.90、234.96、56.94、71.21]
我希望把它切碎成这样(我需要 [ 和 ( 括号,如下所示)
[(123.45, 32.89), (234.90, 234.96), (56.94, 71.21)]
我不是专业的python程序员。我使用一种称为 DynamoBIM 的可视化编程语言。我偶尔需要编写一点 Python 来使用 DynamoBIM 做一些事情。
解决方案
无需切片的节省空间的方法:
data = [123.45, 32.89, 234.90, 234.96, 56.94, 71.21]
i = iter(data)
[*zip(i, i)]
# [(123.45, 32.89), (234.9, 234.96), (56.94, 71.21)]
您可以使用赋值表达式在 Python >= 3.8 中一次性完成:
[*zip((i := iter(data)), i)]
推荐阅读
- minizinc - Gecode 和 G12 (MIP) 是否使用无限精度算术?
- python - 在 python3.6 中导入多处理队列对象失败
- spring-boot - Spring Boot 1.x 应用程序不支持指标
- ios - 斯威夫特 | 照片库打不开
- javascript - Vinyl-FTP 遇到“getaddrinfo ENOTFOUND”错误。FileZilla 工作正常。有人知道修复吗?
- javascript - 角度三态拨动开关
- neo4j - 在没有遍历框架的情况下如何在 neo4j 中进行深度优先遍历?
- git - Git重新排列根提交和第二次提交
- ruby-on-rails - 活动记录中的多个查询
- json - 遍历 json 并将字符串连接到值