繁体   English   中英

如何将 Python 中的字符串加倍。 “你好”到“HHeelllloo”

[英]How to double the strings in Python ex. "Hello" to "HHeelllloo"

我如何使用切片符号来做到这一点?

前任。 “你好”到“你好”

您可以遍历输入字符串,然后使用乘法运算符复制字符串,然后使用join()再次连接:

"".join(2 * s for s in "Hello")

您可以简单地循环字符串中的每个字母并将其两次添加到新字符串中。 例如

word = "Hello"
doubledWord = ""
for letter in word:
    doubledWord += letter * 2

print(doubledWord)

Output

HHeelllloo

您可以使用 join function 和 for 循环到空字符串。 这些字母将是所有字母的两倍。

s="Hello"
"".join([x*2 for x in s])
Word = 'Hello'
number_of_time = 2
''.join([char*number_of_time for char in Word])

Output:

'HHeelllloo'

您可以通过迭代整个字符串来实现它,并在每次迭代时将字符串乘以 2

str1 = 'Hello'
str2= ''
for i in range(len(str1)):

    str2 += str1[i]*2

print(str2)

以不平凡的方式使用切片符号:

s = "Sajad"
s2 = 2 * "Sajad"
ss = ""
for i in range(len(s)):
    ss += s2[i::len(s)]
print(ss)

编程中的切片一词通常是指分别从字符串、元组或列表中获取 substring、子元组或子列表。 您不能将字符串切片以使每个字符加倍。 虽然您可以使用切片表示法 - 方法 6。这里有一些方法可以获得理想的 output。

方法一:

input = Hello
output=""
for i in input:
    output = output + i*2
print(output)  

方法二:

"".join(2 * i for i in "Hello")

方法三:

s='Hello'
from itertools import chain,izip
''.join(chain(*izip(s,s)))

方法四:

s.translate({ord(x):2*x for x in set(s)})

方法五:

s = "Hello"
import re
re.sub('(.)', r'\1' * 2, s)

方法 6(使用切片符号):

s = "Hello"
s1 = 2 * s
s2 = ""
for i in range(len(s)):
    s2 += s1[i::len(s)]
print(s2)

所有这些都会导致:

HHeelllloo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM