首页 > 解决方案 > 将列表切分成长度为 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 做一些事情。

标签: python

解决方案


无需切片的节省空间的方法:

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)]

推荐阅读