在Python中如何将字符串中的单个元素相乘?

在Python中如何将字符串中的单个元素相乘?,python,string,duplicates,element,Python,String,Duplicates,Element,如果我运行duplicateStringaString,值如hello,3,它应该返回hhheellloo。这就是我所拥有的,但它所做的只是将整个单词返回三次。我不知道如何告诉它乘以每个元素而不是整个字符串。有人能帮我吗 def duplicateString(aString,value): return (aString)*(value) 这就是如果我使用hello和3 duplicateString("hello",3): "hellohellohe

如果我运行duplicateStringaString,值如hello,3,它应该返回hhheellloo。这就是我所拥有的,但它所做的只是将整个单词返回三次。我不知道如何告诉它乘以每个元素而不是整个字符串。有人能帮我吗

    def duplicateString(aString,value):
        return (aString)*(value)
这就是如果我使用hello和3

    duplicateString("hello",3):
    "hellohellohello"
你只需要

def duplicateString(aString,value):
    newString = ""
    for char in aString:
        newString += char * value
    return newString

试试这个,也许对你有帮助

新闻字符串= 关于阿斯特林的信件: 对于范围值中的i: 新闻字符串+=字母 返回新闻字符串


我应该做这个把戏

您正在用代码复制整个字符串。相反,您需要迭代字符串的各个字符并复制它们。这是一种方法:

def duplicateString(astring, value):
    return "".join(ch * value for ch in astring)
[ch*ch in astring的值]表示hello和3给出['hhh','eee','lll','lll','ooo']。摆脱[和],以避免像Steven在评论中建议的那样创建中间列表


从中提取所需字符串。

您需要循环原始字符串的字符,并将char*3合并到结果中。这将比简单的for+=方法快得多。您可以删除方括号[]以避免创建中间列表。这是一种效率极低的算法。每次添加字母时,它都会创建一个新字符串,首先将所有现有字母复制到一个新字符串中。