【问题标题】:How to duplicate each character in a string如何复制字符串中的每个字符
【发布时间】:2021-01-17 18:47:12
【问题描述】:

如何将字符串中的每个字符重复两次?

预期输出

input_string = "hello"

output_string = "hheelllloo"

我的代码

def double_char(string):
    for i in string:
        # Place code here

def main():
    user_string = input()
    print(double_char(user_string))


main()

如何完成函数double_char(string)

【问题讨论】:

  • 到目前为止,您自己究竟做了什么来满足要求?你在哪里卡住? Stack Overflow不会为您编写代码,但如果您在此处发布之前证明您已经进行了善意的尝试,我们可以提供帮助。

标签: python string function


【解决方案1】:

如果您想多次复制一个字符串,假设是 2,您可以这样做。

s = "a"
double_s = s*2

然后你可以在一个字符串中逐个字符地迭代:

for s in my_string:
  # Here I do something with s, like for example duplicate it

因此,将这两种方法混合使用会累积在字符串中重复的字符:

def double_char(string):
    res = ""
    for i in string:
        res += i*2
    return res

【讨论】:

  • 我实际上想将每个字符重复两次
  • @poggeezerking 是的,我在答案中添加了两个解决方案。
  • 我编辑了我的问题,我确实有 for 循环,我只是不知道如何将每个字母复制两次
  • @poggeezerking 你有它,基本上两者结合
【解决方案2】:

这将起作用:


user_input = 'hello'

def double_word(s):
    double = ''.join([x+x for x in s])
    return double

print(double_word(user_input))


列表理解,[x+x for x in s] 生成: ['hh', 'ee', 'll', 'll', 'oo']

''.join() 将这些值组合成一个字符串。

【讨论】:

  • 非常感谢!那行得通:) 可以向我解释一下这个过程吗?
  • 列表推导遍历给定的字符串,对于每个元素,它将元素添加到自身。加入,获取生成列表中的所有元素,并将它们组合成一个字符串..返回该字符串。如果这对您有用,请接受答案:)
猜你喜欢
  • 2016-06-05
  • 2011-03-03
  • 2018-08-03
  • 1970-01-01
  • 2016-05-21
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多