2016-11-14 12 views
0

rsaアルゴリズムを実装しようとしています。ですから、ブロックサイズに基づいて配列要素を組み合わせたいと思います。例:配列要素をPythonで整数に変換する方法

blockSize = 2 
arr = [1, 3, 45, 6, 2, 90, 103] 

第1と第2が1つの要素に結合される方法で要素をマージします。その後、文字列を結合し、integerに変換し、string sの各セル内のすべての値をマッピングし、block_sizeによってチャンクに

arr = [13, 456, 290, 103] 
+2

何か試しましたか?何がうまくいかなかったのですか? – Jacobr365

+0

最高の投票回答[ここ](http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks)を見てください。その解決策から、yield部分を以下のように変更してください。 'int( ''。join(map、str、l [i:i + n])))' – idjaw

+0

'int.from_bytes()'を見てください。 –

答えて

2

デバイド:

new_arr = [int(''.join(map(str, arr[i: i+block_size]))) for i in range(0, len(arr), block_size)] 

ので、配列は次のようになります。チャンク変換の詳細な概要:

int(''.join(map(str, arr[i: i+block_size]))) 
        arr[i: i+block_size]  for every chunk 
      map(str, ....................)  map every number in the chunks to string 
    ''.join(..............................) join these strings 
int(.......................................) convert the join string to integer 
+0

ありがとうございます。それは私のために働いた。しかし私はそれを別の方法で解釈しました。 (0、len(arr)、bs): 'インデックスの範囲(0、len(arr)、bs): new =' '.join(map(str、arr [index:index + bs])) ' –

関連する問題