如何将浮点型列表按两两配对方式转换为元组列表
最优实现方案
你可以利用Python内置的zip()函数结合列表切片实现,该方案调用的是原生C实现的底层操作,执行效率远高于手动循环遍历,代码也非常简洁:
# 原始数据 points = [[1437.8552278820375, 1187.3458445040214, 1084.396782841823, 1245.6836461126006, 1104.9865951742627, 1430.9919571045577, 1458.4450402144773, 1307.4530831099196]] # 转换操作(Python3版本,Python2可直接去掉外层list()) points = list(zip(points[0][::2], points[0][1::2]))
逻辑说明
points[0]取出嵌套在内层的一维数值列表[::2]切片获取所有下标为偶数的元素(第0、2、4、6位),作为元组第一个元素的序列[1::2]切片获取所有下标为奇数的元素(第1、3、5、7位),作为元组第二个元素的序列zip()会将两个序列按位置配对为元组,外层套list()转为列表格式,输出结果完全符合要求
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

