假设我有一个for循环,逐个遍历字符串中的字符。
例如:
string_x = "abc"
for i in range (0, len(string_x))
data = str(string_x[i])
print(data)
输出一个接一个地给我a,b,c。
现在我想在逐个字符地加扰它之后将它组合回一个不同的字符串。我已经想出了如何加扰它,但是我不能将它追加到循环内的一个字符串中,因为它会在每次迭代时覆盖字符串值,并且最终只会出现一个字符,例如' b&#39 ;。 我希望for循环创建一个名为string_y的新字符串,该字符串可以递增地附加新字符,而不会在每次循环迭代时覆盖整个字符串。 有什么想法吗?
答案 0 :(得分:0)
尝试使用+=
(在评论中xzoert建议)
string_x = 'abc'
string_y = '' # init to empty string
for c in string_x:
string_y += c # add a character to string_y
print string_y
答案 1 :(得分:0)
我认为你正在寻找这个
string_x = "abc"
data = ""
for i in range (0, len(string_x)):
data += str(string_x[i])
print(data)
输出
abc
您可以使用+=
或data = data + str(string_x[i])
答案 2 :(得分:0)
为了将字母b添加到现有的string_y中,你必须将它连接到现有的string_y,如
string_y = string_y + 'b'
或在上面的循环中,它将是
string_x = "abc"
string_y = ""
for i in range (0, len(string_x))
data = str(string_x[i])
print(data)
string_y = string_y + data
由于字符串是Python中的不可变数据类型,因此将两个字符串连接在一起实际上会创建第三个字符串,这是前两个字符串的组合。因此,将字母添加到列表并将其组合成字符串会更有效。
string_x = "abc"
stringlist = []
for i in range (0, len(string_x))
data = str(string_x[i])
print(data)
stringlist.append(data)
string_y = "".join(stringlist)
答案 3 :(得分:0)
不是很明确的问题,但我会尝试一下。
由于你没有提及它,我只是假设你有像scrambled_list = ['c', 'a', 'b']
这样的乱序列表。
我猜您要求''.join(scrambled_list)
之类的内容,它会为您提供'cab'
。
scrambled_list = ['c', 'a', 'b']
sep = ''
output = sep.join(scrambled_list)
print(output)
'cab'
string的join()方法返回由seperater连接的字符串,所以
'-'.join(scrambled_list)
将为您提供'c-a-b'
。