📜  Python|将字符串转换为 N 个块元组

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

Python|将字符串转换为 N 个块元组

有时,在使用Python字符串时,我们可能会遇到一个问题,即我们需要将一个字符串分成 N 个大小的块到一个元组。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + 元组
这是可以执行此任务的一种方法。在此,我们只是迭代字符串并打破字符串块并在一个衬里中使用 tuple() 构造元组。

# Python3 code to demonstrate working of
# Convert String to N chunks tuple
# Using list comprehension + tuple()
  
# initialize string
test_string = "ggggffffgggg"
  
# printing original string
print("The original string : " + str(test_string))
  
# initialize N 
N = 4
  
# Convert String to N chunks tuple
# Using list comprehension + tuple()
res = tuple(test_string[ i : i + N] for i in range(0, len(test_string), N))
  
# printing result
print("Chunked String into tuple : " + str(res))
输出 :
The original string : ggggffffgggg
Chunked String into tuple : ('gggg', 'ffff', 'gggg')

方法 #2:使用zip() + iter() + join() + 列表推导
上述功能的组合也可用于执行此任务。在此,我们使用 zip() + iter() 执行制作块的操作。并使用 join() 累积结果。

# Python3 code to demonstrate working of
# Convert String to N chunks tuple
# Using zip() + iter() + join()+ list comprehension
  
# initialize string
test_string = "ggggffffgggg"
  
# printing original string
print("The original string : " + str(test_string))
  
# initialize N 
N = 4
  
# Convert String to N chunks tuple
# Using zip() + iter() + join() + list comprehension
res = tuple([''.join(ele) for ele in zip(*[iter(test_string)] * N)])
  
# printing result
print("Chunked String into tuple : " + str(res))
输出 :
The original string : ggggffffgggg
Chunked String into tuple : ('gggg', 'ffff', 'gggg')