[英]inserting a value every other letter in a string -python
有一些問題試圖解決這個問題。 目標是在提供的字符串 a 中每隔一個字母插入一個值 n。
def insert(a,n):
k = n
P = 1
res = list(''.join(i + k * (P%1==0)
for P, i in enumerate(a)))
return str(res)
insert('My name is Pamela', 'x')
我得到的回報看起來像這樣
['M', 'x', 'y', 'x', ' ', 'x', 'n', 'x', 'a', 'x', 'm', 'x', 'e', 'x', ' ', 'x', 'i', 'x', 's', 'x', ' ', 'x', 'P', 'x', 'a', 'x', 'm', 'x', 'e', 'x', 'l', 'x', 'a', 'x']
我怎樣才能讓它作為一個字符串而不是不同的字符串出現?
您可以簡單地使用''.join
:
def insert(a, n):
return ''.join(l + n for l in a)
print(insert('My name is Pamela', 'x'))
輸出:
Mxyx xnxaxmxex xixsx xPxaxmxexlxax
這是一個更簡單的方法解決方案:
def insert(a, n):
res = ''.join(x + y for x, y in zip(a, n * len(a)))
return res
print(insert('My name is Pamela', 'x'))
結果:
Mxyx xnxaxmxex xixsx xPxaxmxexlxax
n * len(a)
創建字符串nnnn...
長度與a
& zip
將兩個字符串轉換為每個字符串中的一個字符對。 然后join
把它變成一個字符串。
嘗試:
fin = ""
return fin.join(res)
這應該組合字符串。
返回:
Mxyx xnxaxmxex xixsx xPxaxmxexlxax
如果您想在a
每個 2 個字母之間插入'x'
,但不是在最后,那么這就是您想要寫的:
def insert(a, n):
return n.join(a)
print(insert('My name is Pamela', 'x'))
#Mxyx xnxaxmxex xixsx xPxaxmxexlxa
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.