gpt4 book ai didi

python - Python中的过滤操作

转载 作者:太空宇宙 更新时间:2023-11-04 03:56:19 24 4
gpt4 key购买 nike

我正在寻找一种无需太多样板代码即可在 Python 中执行此操作的方法。

假设我有一个列表:

[(a,4),(b,4),(a,5),(b,3)]

我正在尝试找到一个函数,允许我按第一个元组值排序,并将列表值合并在一起,如下所示:

[(a,[4,3]),(b,[4,5])]

我知道我可以用天真的方法来做到这一点,但我想知道是否有更好的方法。

最佳答案

使用collections.defaultdict(list):

from collections import defaultdict

lst = [("a",4), ("b",4), ("a",5), ("b",3)]

result = defaultdict(list)
for a, b in lst:
result[a].append(b)

print sorted(result.items())

# prints: [('a', [4, 5]), ('b', [4, 3])]

排序前算法的复杂度为O(n);按算法分组有 O(n * log(n)) 并且 set/list/dict 理解有大于 O(n^2)

关于python - Python中的过滤操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239116/

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