Python 复制字符串中的每个字符

Python 复制字符串中的每个字符,python,string,iteration,Python,String,Iteration,我正在寻找一种方法来复制字符串中的每个字符,保留它们的顺序。这就是我需要的格式: >>> dup = "abc" >>> dup1 = MyFunction(dup) # I don't know what code should go here! >>> dup1 "aabbcc" 我知道如何对列表中的元素执行此操作,但我不知道如何使字符串以相同的方式工作。我可以使用什么代码来获得此结果?您可以将代码用于带有以下字符串的列表: dup1

我正在寻找一种方法来复制字符串中的每个字符,保留它们的顺序。这就是我需要的格式:

>>> dup = "abc"
>>> dup1 = MyFunction(dup)  # I don't know what code should go here!
>>> dup1
"aabbcc"

我知道如何对列表中的元素执行此操作,但我不知道如何使字符串以相同的方式工作。我可以使用什么代码来获得此结果?

您可以将代码用于带有以下字符串的列表:

dup1=''.join(yourDuplicateFunction(list(dup)))

它将转换列表中的字符串,您将在此列表上应用复制函数,并在不使用分隔符的情况下连接它。

我可能会这样做:

>>> dup = "abc"
>>> dup1 = str()  # a new, empty string.
>>> for char in dup:
...    dup1 += char + char  # strings concatenate using + and +=

>>> dup1  # the duplicant string
'aabbcc'
>>> dup  # the original is preserved
'abc'
如果您愿意,或者如果您想修改重复之间的字符串,可以在一行中使用
dup1+=char
两次,而不是
for
块中的
dup1+=char+char


dup1=“”
可能是
dup1=str()
的一个更具Python风格的替代品,但我不确定。可能更多的是风格问题。在这两种情况下,都会创建一个空字符串。

如果您想在一行中执行此操作,可以使用fredtantini建议的
'.join()
,使用迭代器:
dup1='.join(char+char代表dup中的char)