gpt4 book ai didi

python - 根据键 ckeys 之一的值对字典值进行排序

转载 作者:行者123 更新时间:2023-12-02 01:48:42 24 4
gpt4 key购买 nike

我收到一本带有两个键的字典,其中包含列表列表作为值。示例:

dict = {'points' : [[2,1],[3,4], [5,6],[7,8]], 'ids':[[2], [1], [3], [0]]}

每个点都有一个与之关联的 id,例如:点 [2,1] 有 id[2],点[3,4] 有 id[1] 等。

我需要对每个 id 的点进行排序。所以我需要的输出是这样的

dict = {'points' : [[7,8],[3,4], [2,1],[5,6]], 'ids':[[0], [1], [2], [3]]}

我该怎么做?

谢谢。

最佳答案

Python 可以用一行代码完成此操作:

>>> d = {'points' : [[2,1],[3,4], [5,6],[7,8]], 'ids':[[2], [1], [3], [0]]}
>>> d['ids'], d['points'] = zip(*sorted(zip(d['ids'], d['points'])))
>>> d
{'points': ([7, 8], [3, 4], [2, 1], [5, 6]), 'ids': ([0], [1], [2], [3])}

zip 步骤将ids 成对地组合在一起。 已排序步骤按id(每对的第一个元素)排序。 zip(*s) 步骤将 ids 分开,并重新指向单独的序列。

请注意,内部数据类型已从列表转换为元组。如果不需要,您可以调用 list 将它们转换回来。

关于python - 根据键 ckeys 之一的值对字典值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70599519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com