我正在尝试使用以下代码加密邮件。问题是我的结果以列表格式而不是字符串出现。如何将其变成字符串?
答案 0 :(得分:2)
finalArray
显然是一个列表:
finalArray = []
要将其转换为字符串,请使用join
:
print ''.join(finalArray)
但首先,您可能不想要这些嵌套列表。您应该使用extend
,而不是append
:
def stringEncrypter(A):
length = len(A)
finalArray = []
if length%2 == 0:
firstArray=[]*(length/2)
secondArray=[]*(length/2)
else:
firstArray=[]*((length+1)/2)
secondArray=[]*((length-1)/2)
for x in range(0, length-1):
if x%2 == 0:
firstArray.append(A[x:x+1])
secondArray.append(A[x+1:x+2])
finalArray.extend(firstArray)
finalArray.extend(secondArray)
print ''.join(finalArray)
答案 1 :(得分:2)
您需要在结果中展平嵌套列表,然后将其转换为字符串。这是一种方法:
>>> import itertools
>>> result = [['I', 'R', 'A', ' ', 'O'], [' ', 'E', 'D', 'Y', 'U']]
>>> ''.join(itertools.chain(*result))
'IRA O EDYU'