相关疑难解决方法(0)

在python中通过键减少

我正在尝试通过python中最有效的方式来思考.

假设我有一个元组列表:

[('dog',12,2), ('cat',15,1), ('dog',11,1), ('cat',15,2), ('dog',10,3), ('cat',16,3)]
Run Code Online (Sandbox Code Playgroud)

假设我有一个函数,它接受这些元组中的两个并组合它们:

def my_reduce(obj1, obj2):
    return (obj1[0],max(obj1[1],obj2[1]),min(obj1[2],obj2[2]))
Run Code Online (Sandbox Code Playgroud)

如何通过'key'执行有效的减少,其中key可以是第一个值,因此最终结果将是:

[('dog',12,1), ('cat',16,1)]
Run Code Online (Sandbox Code Playgroud)

python reduce

7
推荐指数
3
解决办法
1万
查看次数

根据公共 ID 对元组列表中的项目进行分组

我有一个大型同义词数据集(10000+)作为元组列表,如下所示:

data = [
    (435347,'cat'),
    (435347,'feline'),
    (435347,'lion'),
    (6765756,'dog'),
    (6765756,'hound'),
    (6765756,'puppy'),
    (435347,'kitten'),
    (987977,'frog')
]
Run Code Online (Sandbox Code Playgroud)

其中每个同义词由任意共享 ID 标识,在本例中为4353476765756987977

我想编写一个函数,使数据看起来像这样:

processed_data = [
    (435347,'cat','feline','lion','kitten'),
    (6765756,'dog','hound','puppy'),
    (987977,'frog')
]
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激!

python

2
推荐指数
1
解决办法
1534
查看次数

标签 统计

python ×2

reduce ×1