2016-11-14 233 views
0

我试图实现rsa算法。所以,我想结合基于块大小的数组元素。例如:如何将数组元素转换为Python中的整数

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

我愿意以第一种和第二种方式合并为一个元素的方式合并元素。所以数组是这样的:

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

鸿沟以块由block_size,然后在每个小区内的所有值映射到string秒,加入字符串,并将其转换为integer

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): new =''.join(map(str,arr [index:index + bs])) ' –

相关问题