次のコードで、メッセージを暗号化しようとしています。問題は、結果が文字列ではなくリスト形式で表示されることです。文字列にする方法を教えてください。
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
結果のネストされたリストをフラット化し、それを文字列に変換する必要があります。これを行う1つの方法は次のとおりです。
>>> import itertools
>>> result = [['I', 'R', 'A', ' ', 'O'], [' ', 'E', 'D', 'Y', 'U']]
>>> ''.join(itertools.chain(*result))
'IRA O EDYU'
于 2013-03-12T15:47:22.530 に答える