gpt4 book ai didi

Python 项目仅使用项目中的第一个单词进行排序

转载 作者:行者123 更新时间:2023-12-04 14:39:09 24 4
gpt4 key购买 nike

尝试按相同项目的数量排序,从最大到最小的项目数......
有一个数组:

[['red', 1], ['blue', 2], ['blue', 3], ['green', 4], ['red', 5], ['red', 6]]
需要输出:
[['red', 1],
['red', 5],
['red', 6],
['blue', 2],
['blue', 3],
['green', 4]]
尝试使用集合计数器,但我不知道如何只计算单词...也许有人可以帮助我。

最佳答案

您可以使用 Counter像下面这样:

from collections import Counter

data = [['red', 1], ['blue', 2], ['blue', 3], ['green', 4], ['red', 5], ['red', 6]]
counts = Counter(e for e, _ in data)
result = sorted(data, key=lambda e: counts.get(e[0], 0), reverse=True)
print(result)
输出
[['red', 1], ['red', 5], ['red', 6], ['blue', 2], ['blue', 3], ['green', 4]]
如果在同一个列表中使用了 counts,则可以按照@Barmar 的建议进行操作:
result = sorted(data, key=lambda e: counts[e[0]], reverse=True)

关于Python 项目仅使用项目中的第一个单词进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69261049/

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