从元组列表创建两个列表

sorted_bounds我想基于每个其他元组创建两个列表。


bounds = [1078.08, 1078.816, 1078.924, 1079.348, 1079.448, 1079.476]

sorted_bounds = list(zip(bounds,bounds[1:]))

print(sorted_bounds)

# -> [(1078.08, 1078.816), (1078.816, 1078.924), (1078.924, 1079.348), (1079.348, 1079.448), (1079.448, 1079.476)]

期望的输出:


list1 = [(1078.08, 1078.816), (1078.924, 1079.348), (1079.448, 1079.476)]  

list2 = [(1078.816, 1078.924), (1079.348, 1079.448)]

我该怎么做?我完全一片空白。


慕斯709654
浏览 86回答 2
2回答

烙印99

list1 = sorted_bounds[0::2] list2 = sorted_bounds[1::2]括号中的第三个值是“step”,因此在本例中是每隔一个元素。

慕斯王

试图想出一种在单次传递中完成此操作的方法,但这里有一个在两次传递中完成此操作的干净方法:list1 = [x for i, x in enumerate(sorted_bounds) if not i % 2]list2 = [x for i, x in enumerate(sorted_bounds) if i % 2]print(list1)print(list2)结果:[(1078.08, 1078.816), (1078.924, 1079.348), (1079.448, 1079.476)][(1078.816, 1078.924), (1079.348, 1079.448)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python