在字符串中每隔一个字母插入一个值-python
试图解决这个问题时遇到了一些问题。 目标是在提供的字符串a中每隔一个字母插入一个值n在字符串中每隔一个字母插入一个值-python,python,Python,试图解决这个问题时遇到了一些问题。 目标是在提供的字符串a中每隔一个字母插入一个值n def插入(a,n): k=n P=1 res=list(“”.join(i+k*(P%1==0) 对于P,i在枚举(a)中) 返回str(res) 插入('我的名字是帕梅拉','x') 我得到的回报是这样的 ['M', 'x', 'y', 'x', ' ', 'x', 'n', 'x', 'a', 'x', 'm', 'x', 'e', 'x', ' ', 'x', 'i', 'x', 's', 'x',
def插入(a,n):
k=n
P=1
res=list(“”.join(i+k*(P%1==0)
对于P,i在枚举(a)中)
返回str(res)
插入('我的名字是帕梅拉','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):
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)
创建长度与a
&zip
相同的字符串nnnn…
,将两个字符串从每个字符串转换成一个字符的对。然后,join
将其转换为字符串。以下是一种更简单的解决方案:
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)
创建长度与a
&zip
相同的字符串nnnn…
,将两个字符串从每个字符串转换成一个字符的对。然后join
将其转换为字符串。尝试:
fin = ""
return fin.join(res)
这应该组合字符串
返回:
Mxyx xnxaxmxex xixsx xPxaxmxexlxax
尝试:
这应该组合字符串
返回:
Mxyx xnxaxmxex xixsx xPxaxmxexlxax
如果您想在a
中的每两个字母之间插入'x'
,但不是在末尾,那么您要写的是:
def insert(a, n):
return n.join(a)
print(insert('My name is Pamela', 'x'))
#Mxyx xnxaxmxex xixsx xPxaxmxexlxa
如果您想在a
中的每两个字母之间插入'x'
,但不是在末尾,那么您要写的是:
def insert(a, n):
return n.join(a)
print(insert('My name is Pamela', 'x'))
#Mxyx xnxaxmxex xixsx xPxaxmxexlxa
为什么要从join
的输出创建一个列表,这是一个字符串?我建议您阅读基础教程或通过学习材料,您使用的许多函数和结构表明您没有掌握它们的用法和用途。为什么要从join
的输出创建一个列表,这是一个字符串?我建议你看一本基础教程,或者通过你的学习材料,你使用了很多功能和结构,这表明你没有掌握它们的用途和目的。