【发布时间】:2014-02-20 23:08:22
【问题描述】:
我有一个简单的问题!我有一个矩阵,它有 8 列和大约 20 行。矩阵的每个索引都填充了一些字母。我想知道是否有一种有效的方法来产生矩阵的排列(列)?我正在研究列转置密码,我想从本质上测试每一列排列(交换整个列),以便我可以解决密码。
有没有一种有效的方法可以在 python 中使用 itertools 或我不知道的任何其他技术?非常感谢您的帮助!
我首先这样做初始化数组:
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 似乎是要走的路
-
是的,但是如何在不使用 for 循环的情况下使用新创建的列排列交换列? >_>有没有更高效的方法?
标签: python algorithm matrix iteration