关于Matrix Script的解法以及正则总结

问题参照:

解题思路

  • 将N * M矩阵转转化为具有顺序的一维数组
  • 将一维数组按照顺序拼接字符串
  • 利用正则过滤字符串

code

#!/bin/python3

import math
import os
import random
import re
import sys
if __name__ == '__main__':
    nm = input().split()
    n = int(nm[0])
    m = int(nm[1])
    matrix = []
    for _ in range(n):
        matrix_item = input()
        matrix.append(matrix_item)
    row_column = ["0"]*(n*m)
    row_number = 0
    for index, row in enumerate(matrix):
        for column_index in range(len(row)):
            row_column[column_index*n + index] = row[column_index]
    string = ''
    for i in range(len(row_column)):
        string = string + row_column[i]
    string = "".join('%s' %id for id in row_column)
    string=  (re.sub(r'\b[^a-zA-Z0-9]+\b', ' ', string))
    print(string)

正则表达式浅析

  • \b
    \b 匹配一个单词边界,也就是指单词和空格间的位置。例如,「er\b」可以匹配「never」中的「er」,但不能匹配「verb」中的「er」
  • '+'
    Causes the resulting RE to match 1 or more repetitions of the preceding RE. ab+ will match ‘a’ followed by any non-zero number of ‘b’s; it will not match just ‘a’.
  • '[]'
    里面可以存储一系列(正则)字符

更多参照:https://docs.python.org/3.1/library/re.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容