📌  相关文章
📜  Python|在给定字符串列表中的每个 k 个字母之后插入值

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

Python|在给定字符串列表中的每个 k 个字母之后插入值

给定一个字符串列表,编写一个Python程序在给定字符串列表中的每个 k 个字母之后插入一些字母。

我们知道在列表中插入元素是很常见的,但有时我们需要通过考虑每个字母并以固定频率插入一些重复元素来对字符串列表进行操作。让我们看看如何使用Python来完成这项任务。

方法 #1:使用 enumerate() 方法

# Python program to insert value after
# each k letters in given list of string
list1 = ['p', 'y', 't', 'h', 'o', 'n'] 
  
# printing original list 
print ("Original list : " + str(list1)) 
  
# initializing k 
k = 'G'
  
# initializing N 
N = 2
  
# using join() + enumerate() 
# inserting K after every Nth number 
output = list(''.join(i + k * (N % 2 == 1) 
        for N, i in enumerate(list1))) 
  
# printing result 
print ("The lists after insertion : " + str(output)) 
输出:
Original list : ['p', 'y', 't', 'h', 'o', 'n']
The lists after insertion : ['p', 'y', 'G', 't', 'h', 'G', 'o', 'n', 'G']

方法 #2:使用 itertools

# Python program to insert value after
# each k letters in given list of string
from itertools import chain 
  
list1 = ['p', 'y', 't', 'h', 'o', 'n'] 
  
# printing original list 
print ("Original list : " + str(list1)) 
  
# initializing k  
k = 'x'
    
# initializing N 
N = 3
    
  
# inserting K after every Nth number  
output = list(chain(*[list1[i : i + N] + [k]  
              if len(list1[i : i + N]) == N  else list1[i : i + N]  
              for i in range(0, len(list1), N)])) 
  
# printing result 
print ("The lists after insertion : " + str(output)) 
输出:
Original list : ['p', 'y', 't', 'h', 'o', 'n']
The lists after insertion : ['p', 'y', 't', 'x', 'h', 'o', 'n', 'x']