关于python:如何从数组返回一个字符串

How to return a string from an array

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    keyword = raw_input ("Enter your keyword") *10000
keyword = keyword.lower()
keywordoutput = []
for character in keyword:
    number = ord(character)
    keywordoutput.append(number)


input1 = raw_input('Write Text: ')
input1 = input1.lower()
output1 = []
for character in input1:
    number = ord(character)
    output1.append(number)


output2 = [x + y for x, y in zip(output1, keywordoutput)]
print output2

到目前为止,这是我的代码。我试图创建一个程序,使用一个简单的维格纳密码器来加密输入的文本。这段代码工作得很好,但是我遇到了一个问题,它将新代码用于返回"output2"字符串。

我很容易得到"output2",但从那里我需要使它成为一个简单的字符串。例如:【1、2、3、4】变成(1234)

我已经尝试过了,但是我似乎无法在代码中实现这样的东西。


首先你必须把数字转换成文本。

1
output2 = map(str, output2)

然后可以使用join连接元素。

1
print"".join(output2)

或者在一行中:

1
print"".join(map(str, output2))

试试这个

1
print ''.join(str(i) for i in output2)


一步使用->join

1
output2 = ''.join([str(x + y) for x, y in zip(output1, keywordoutput)])

检查:https://docs.python.org/2/library/string.html string.join

由于函数需要一个string类型,因此必须将数值结果x + y进行转换。