我正在尝试编写一个返回字符串的函数,该字符串是带有双字符的输入字符串。例如,如果输入为'hello',则该函数应返回'hheelllloo'。我一直在尝试,但我似乎找不到编写函数的方法。任何帮助将不胜感激 - 谢谢。
答案 0 :(得分:5)
使用简单的生成器:
>>> s = 'hello'
>>> ''.join(c * 2 for c in s)
'hheelllloo'
答案 1 :(得分:4)
def repeatChars(text, numOfRepeat):
ans = ''
for c in text:
ans += c * numOfRepeat
return ans
使用:
repeatChars('你好',2)
输出:'hheelllloo'
由于字符串是不可变的,因此将它们连接在一起并不是一个好主意,如repeatChars方法中所示。如果您正在操作的文本具有像'hello'那么短的长度,但如果你传递的是'superfragilisticexpialidocious'(或更长的字符串),那就没关系......你明白了。因此,作为替代方案,我已将我之前的代码与@Roman Bodnarchuk的代码合并。
替代方法:
def repeatChars(text, numOfRepeat):
return ''.join([c * numOfRepeat for c in text])
答案 2 :(得分:3)
s = 'hello'
''.join(c+c for c in s)
# returns 'hheelllloo'
答案 3 :(得分:1)
>>> s = "hello"
>>> "".join(map(str.__add__, s, s))
'hheelllloo'
答案 4 :(得分:1)
def doublechar(s):
if s:
return s[0] + s[0] + doublechar(s[1:])
else:
return ""