📜  Python|连接字符串列表中的 N 个连续元素

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

Python|连接字符串列表中的 N 个连续元素

有时,在处理数据时,我们可能会遇到一个问题,即我们需要在字符串列表中执行 N 个连续字符串的连接。这可以有许多跨域的应用程序。让我们讨论可以执行此任务的某些方式。

方法 #1:使用format() + zip() + iter() + 列表理解
上述方法的组合可用于执行此特定任务。在此我们使用 zip() 和 iter() 执行分组任务,format() 用于指定分组分隔符。

# Python3 code to demonstrate working of
# Consecutive N concatenation in String list
# using format() + zip() + iter() + list comprehension
  
# initialize list 
test_list = ['gfg', 'is', 'good', 'for', 'geek', 'people']
  
# printing original list 
print("The original list : " + str(test_list))
  
# initialize N 
N = 3
  
# Consecutive N concatenation in String list
# using format() + zip() + iter() + list comprehension
temp = '{} ' * N 
res = [temp.format(*ele) for ele in zip(*[iter(test_list)] * N)]
  
# printing result
print("List after N concatenation of String : " + str(res))
输出 :
The original list : ['gfg', 'is', 'good', 'for', 'geek', 'people']
List after N concatenation of String : ['gfg is good ', 'for geek people ']

方法#2:使用starmap() + zip() + iter() + format()
上述功能的组合执行类似的任务。唯一的区别是使用 starmap() 而不是列表推导来构建列表。

# Python3 code to demonstrate working of
# Consecutive N concatenation in String list
# using starmap() + zip() + iter() + format()
from itertools import starmap
  
# initialize list 
test_list = ['gfg', 'is', 'good', 'for', 'geek', 'people']
  
# printing original list 
print("The original list : " + str(test_list))
  
# initialize N 
N = 3
  
# Consecutive N concatenation in String list
# using starmap() + zip() + iter() + format()
temp = '{} ' * N
res = list(starmap(temp.format, zip(*[iter(test_list)] * N)))
  
# printing result
print("List after N concatenation of String : " + str(res))
输出 :
The original list : ['gfg', 'is', 'good', 'for', 'geek', 'people']
List after N concatenation of String : ['gfg is good ', 'for geek people ']