【问题标题】:How to turn string into matrix如何将字符串变成矩阵
【发布时间】:2019-12-01 17:08:22
【问题描述】:

我想把一个字符串,例如这个:“1,2,3;2,3,4;3,4,5”变成一个矩阵(列表中的列表)。 我已经尝试使用 string.split() 函数,但我似乎无法弄清楚。对我来说,主要问题是两者都有;并且,这与我的代码混淆了。

【问题讨论】:

    标签: python-3.x string matrix


    【解决方案1】:

    以下逻辑将为您提供给定输入字符串的列表。

    x='1,2,3;2,3,4;3,4,5'
    lst= [[int(x) for x in m.split(',')] for m in x.split(';')]
    

    【讨论】:

      【解决方案2】:

      这太可怕了,但它似乎有效:

      [ [ item for item in row.split(',') ] for row in "1,2,3;2,3,4;3,4,5".split(';') ]
      

      不过,我建议将此 a 写为 for 循环:

      result = []
      for row in"1,2,3;2,3,4;3,4,5".split(';'):
        result.append(row.split(','))
      

      【讨论】:

        【解决方案3】:

        如果逗号和分号在功能上相同,这比循环/拆分两次要简单得多:

        x = "1,2,3;2,3,4;3,4,5"
        result = x.replace(";", ",").split(",")
        

        基本上简化了场景,将其全部设为逗号,然后拆分。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-09-08
          • 2019-08-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-19
          • 1970-01-01
          相关资源
          最近更新 更多