我正在尝试在以下代码中加密消息。问题是我的结果以列表格式而不是字符串出现。我怎样才能把它变成一个字符串?
问问题
672 次
2 回答
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)
于 2013-03-12T15:38:17.477 回答
2
您需要展平结果中的嵌套列表,然后将其转换为字符串。这是一种方法:
>>> import itertools
>>> result = [['I', 'R', 'A', ' ', 'O'], [' ', 'E', 'D', 'Y', 'U']]
>>> ''.join(itertools.chain(*result))
'IRA O EDYU'
于 2013-03-12T15:47:22.530 回答