Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过跟踪交换的索引对列表进行排序,以重新形成第二个列表_Python_Sorting_Nested Lists - Fatal编程技术网

Python 通过跟踪交换的索引对列表进行排序,以重新形成第二个列表

Python 通过跟踪交换的索引对列表进行排序,以重新形成第二个列表,python,sorting,nested-lists,Python,Sorting,Nested Lists,我有一个数字列表: S = [12, 5, 7, 100, 50] 和一个列表的关联列表: AS = [['G'], ['W'], ['F'], ['N'], ['L']] 我想对S列表进行排序,这样关联列表也会相应地修改。 输出: 有什么帮助吗 Z = [x for _,x in sorted(zip(S,AS))] 我们走吧。Z将是按S列表排序的排序为列表 我们走吧。Z将是按S列表排序的列表S=[12,5,7100,50] AS=['G']、['W']、['F']、['N']、['L'

我有一个数字列表:

S = [12, 5, 7, 100, 50]
和一个列表的关联列表:

AS = [['G'], ['W'], ['F'], ['N'], ['L']]
我想对S列表进行排序,这样关联列表也会相应地修改。 输出:

有什么帮助吗

Z = [x for _,x in sorted(zip(S,AS))]
我们走吧。Z将是按S列表排序的排序为列表

我们走吧。Z将是按S列表排序的列表

S=[12,5,7100,50]
AS=['G']、['W']、['F']、['N']、['L']]
zipped_sorted_list=sorted(zip(S,AS),key=lambda i:i[0])
S_排序,AS_sorted=zip(*压缩的_排序的_列表)
打印(S_排序)
打印(按排序)
控制台输出:

(5, 7, 12, 50, 100)
(['W'], ['F'], ['G'], ['L'], ['N'])
S=[12,5,7100,50]
AS=['G']、['W']、['F']、['N']、['L']]
zipped_sorted_list=sorted(zip(S,AS),key=lambda i:i[0])
S_排序,AS_sorted=zip(*压缩的_排序的_列表)
打印(S_排序)
打印(按排序)
控制台输出:

(5, 7, 12, 50, 100)
(['W'], ['F'], ['G'], ['L'], ['N'])

排序
zip(*sorted(zip,AS))
中不需要键就足够了,默认情况下,排序发生在第一个元素上,这是正确的,基于元组的排序方式,不包括它可能会稍微有效一些。但是为了可读性/明确代码试图做什么,可能需要包含
参数。这取决于您的优先级。有意义的话,我想如果您可以使用
*
解释解包,这会更好,因为它可以完成大部分繁重的工作您不需要在排序中使用键
zip(*排序(zip,AS))
就足够了,默认情况下排序发生在第一个元素上,这是正确的,基于元组的排序方式,不包括它可能会稍微有效一些。但是为了可读性/明确代码试图做什么,可能需要包含
参数。这取决于你的优先级。说得有道理,我想如果你能用
*
来解释解包,那会更好,因为这里大部分的工作都是用
*
来完成的