【发布时间】:2015-09-29 10:17:24
【问题描述】:
我有一份想要重新排序的列表:
qvalues = [[0.1, 0.3, 0.6],[0.7, 0.1, 0.2],[0.3, 0.4, 0.3],[0.1, 0.3, 0.6],[0.1, 0.3, 0.6],[0.1, 0.3, 0.6]]
如果我有一个符合我想要的顺序的列表(例如here),我知道如何重新排序这个列表。棘手的部分是得到这个订单。
我拥有的是这样的:
locations = [(['Loc1','Loc1'], 3), (['Loc2'], 1), (['Loc3', 'Loc3', 'Loc3'], 2)]
这是一个元组列表,其中每个元组的第一个元素是一个带有位置名称的列表,该位置对每个人重复,第二个元素是这些人在qvalues 列表中的顺序(qvalues[0] 是 'Loc2',qvalues[1:4] 是 'Loc3',qvalues[4:6] 是 'Loc1'。
我想要将qvalues 中列表的顺序更改为它们在locations 中显示的顺序:首先是'Loc1',然后是'Loc2',最后是'Loc3'。
这只是一个小例子,我的真实数据集有数百个人和 17 个位置。
提前感谢您提供的任何帮助。
【问题讨论】:
-
这两个列表有什么关系?我在两个列表中都没有看到任何共同点
-
抱歉,不清楚。
qvalues的每个元素对应一个'LocX'。qvalues有六个元素,'LocX'元素有六个。 -
您对位置列表的解释含糊不清,请尝试给出输入和相应输出的示例。
标签: python list sorting tuples