我有一个快速问题!我有一个矩阵,有8列和约20行。矩阵的每个索引都填充了一些字母。我想知道是否有一个有效的方法来产生矩阵的排列(列)?我正在研究Column Transposition Cipher,我想要测试每个列置换(交换整列),以便我可以解密密码。矩阵中列的排列
有没有一种有效的方式来做到这一点使用itertools在Python或任何其他技术我不知道?非常感谢您的帮助!
我首先初始化数组这样做:
LMATRIX = [['' for x in xrange(8)] for x in xrange(53)]
再后来就用字母填充它...
如 置换前:
0 1 2 3 4 5 6 7
B C R H L M N O
J F K A B C D R
后一次迭代的置换:
**1 0** 2 3 4 5 6 7
**C B** R H L M N O
**F J** K A B C D R
再次感谢!
取决于你用什么数据结构使用表示矩阵[ itertools.permutations](http://docs.python.org/2/library/itertools.html#itertools.permutations)似乎要走的路 – bvidal
是的,但我该如何去使用新创建的列置换交换列而不使用for循环? > _>没有更有效的方法吗? –