📜  Python|将元组分成 n 组

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

Python|将元组分成 n 组

给定一个元组,任务是将其分成较小的 n 组。让我们讨论一些完成给定任务的方法。

方法#1:使用枚举和范围函数

# Python code to demonstrate
# how to split tuple
# into the group of k-tuples
  
# initialising tuple
ini_tuple = (1, 2, 3, 4, 8, 12, 3, 34,
             67, 45, 1, 1, 43, 65, 9, 10)
  
# printing initial tuple
print ("initial list", str(ini_tuple))
  
# code to group
# tuple into size 4 tuples
res = tuple(ini_tuple[x:x + 4] 
      for x in range(0, len(ini_tuple), 4))
  
# printing result
print ("resultant tuples", str(res))

输出:


方法 #2:使用 enumerate 和mod运算符

# Python code to demonstrate
# how to split tuple
# into the group of k-tuples
  
# initialising tuple
ini_tuple = (1, 2, 3, 4, 8, 12, 3, 34,
             67, 45, 1, 1, 43, 65, 9, 10)
  
# printing initial tuple
print ("initial list", str(ini_tuple))
  
# code to group
# tuple into size 4 tuples
res = tuple(ini_tuple[n:n + 4] for n, i in enumerate(ini_tuple)
                                                 if n % 4 == 0)
  
# printing result
print ("resultant tuples", str(res))

输出:


方法 #3:使用 itertools 收据

# Python code to demonstrate
# how to split tuple
# into the group of k-tuples
  
# function to group tuple into groups of 4
def grouper(n, iterable):
    args = [iter(iterable)] * n
    return zip(*args)
      
  
# initialising tuple
ini_tuple = (1, 2, 3, 4, 8, 12, 3, 34,
             67, 45, 1, 1, 43, 65, 9, 10)
  
# printing initial tuple
print ("initial list", str(ini_tuple))
  
# code to group
# tuple into size 4 tuples
res = tuple(grouper(4, ini_tuple))
  
# printing result
print ("resultant tuples", str(res))

输出: