📌  相关文章
📜  Python – 按第 K 个索引元素对元组进行分组

📅  最后修改于: 2022-05-13 01:55:31.220000             🧑  作者: Mango

Python – 按第 K 个索引元素对元组进行分组

有时,在处理Python记录时,我们可能会遇到一个问题,即我们需要按相似的第 K 个索引元素对元组的元素进行分组。这种问题可以在Web开发领域有应用。让我们讨论一下可以执行此任务的特定方式。

方法:使用groupby() + itemegetter() + 生成器表达式
上述功能的组合可以用来解决这个问题。在此,我们执行对使用 itemgetter 提取的第 K 个索引中的元素进行分组的任务,并且生成器表达式用于将整个逻辑绑定在一起。

# Python3 code to demonstrate working of 
# Group Tuples by Kth Index Element
# Using groupby() + itemegetter() + generator expression
from operator import itemgetter
from itertools import groupby
  
# initializing lists
test_list = [(4, 5), (3, 2), (2, 2), (1, 2), (5, 5)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 1
  
# Group Tuples by Kth Index Element
# Using groupby() + itemegetter() + generator expression
test_list.sort()
res = list(tuple(sub) for idx, sub in groupby(test_list, key = itemgetter(K)))
  
# printing result 
print("Tuples after grouping : " + str(res))
输出 :
The original list is : [(4, 5), (3, 2), (2, 2), (1, 2), (5, 5)]
Tuples after grouping : [((1, 2), (2, 2), (3, 2)), ((4, 5), (5, 5))]