首页 > 解决方案 > 如何在另一个列表中的相应元素之后更有效地对一个列表的元素进行排序?

问题描述

所以,我有两个包含数据的列表。一个有关于物体从高度上落下的信息(称为 heightsTotal),一个有关于该物体落下所用时间的信息(称为 timesTotal)。对于每个高度,一个物体会掉落数次。我想要做的是从列表中获取带有时间的元素,并根据时间对应的高度将它们排序到列表中的列表中。

我已经解决了这个问题,但是它需要很多代码。我的代码如下所示:

timesAfterHeight = [[], [], [], [], []]

counter = 0
for i in heightsTotal:
    if i == 0.2:
        timesAfterHeight[0].append(timesTotal[counter])
    if i == 0.4:
        timesAfterHeight[1].append(timesTotal[counter])
    if i == 0.6:
        timesAfterHeight[2].append(timesTotal[counter])
    if i == 0.8:
        timesAfterHeight[3].append(timesTotal[counter])
    if i == 1:
        timesAfterHeight[4].append(timesTotal[counter])
    counter += 1

有没有更好、更有效的方法来做到这一点?非常感谢您的回答!

标签: pythonlist

解决方案


根据您使用的语言的数学约定,我可能会做类似的事情

height = heightsTotal[counter]
index = 5 * height - 1
timesAfterHeight[index].append(timesTotal[counter])

推荐阅读