簡體   English   中英

在字符串中每隔一個字母插入一個值 -python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM