Python正则表达式

时间:2018-10-21 18:59:42

标签: python

我将我的代码的解决方案写在一个文件上,我需要阅读它以获取其他代码。 但是有一个问题,在保存解决方案的文件中,变量类似于:

x[1][1]=3 x[1][2]=5 x[1][3]=9 x[2][1]=3 x[2][2]=5 x[2][3]=9

我需要的是:

x[1][1]=3 x[2][1]=5 x[3][1]=9 x[1][2]=3 x[2][2]=5 x[3][2]=9

如何翻转for循环以将索引更改为其他方式?我了解到可以在python上创建正则表达式,但是由于找不到很好的示例,因此无法应用它。能给我一个例子吗? 非常感谢

2 个答案:

答案 0 :(得分:2)

正常阅读,然后转置。

您可以这样转置:

     x = list(map(list, zip(*x)))

转置“翻转”表中的索引。

答案 1 :(得分:2)

按照克里斯蒂安·斯洛珀的建议实际转换列表可能是最原则的事情,但是如果您确实想使用正则表达式将字符串"list[x][y]"转换为"list[y][x]",那是非常可行的:

import re
input_string = "list[3][4], list[7][8]"
pattern = r"\[(\d+)\]\[(\d+)\]"
repl = r"[\2][\1]"
re.sub(pattern, repl, input_string) #list[4][3], list[8][7]