【问题标题】:Python - How do I turn String into ArrayPython - 如何将字符串转换为数组
【发布时间】:2019-08-08 18:48:56
【问题描述】:

我有一个二维数组 [['s1.modernroleplay.net', '27016', '27015'], ['s2.modernroleplay.net', '27019', '27018'], ['s3.modernroleplay.net', '27022', '27021']]

这个二维数组存储在 MySQL 中,一旦从 MySQL 中取出,它就是 String 格式。

如何将此字符串转换回数组?

【问题讨论】:

  • 有点老套:但是eval("[['s1.modernroleplay.net', '27016', '27015'], ['s2.modernroleplay.net', '27019', '27018'], ['s3.modernroleplay.net', '27022', '27021']]") ;不要eval 任何你无法验证的东西,因为它会执行任意代码。
  • 在你去evaling 之前,我会先考虑ast.literal_eval

标签: python arrays string


【解决方案1】:

您可以使用ast

例如:

import ast

print(ast.literal_eval("[['s1.modernroleplay.net', '27016', '27015'], ['s2.modernroleplay.net', '27019', '27018'], ['s3.modernroleplay.net', '27022', '27021']]"))

【讨论】:

    【解决方案2】:

    你可以试试:

    import json
    
    my_string = "[['s1.modernroleplay.net', '27016', '27015'], ['s2.modernroleplay.net', '27019', '27018'], ['s3.modernroleplay.net', '27022', '27021']]".replace("'", '"')
    
    my_array = json.loads(f'{{"array" : {my_string}}}')['array']
    print(my_array)
    
    # output
    # [['s1.modernroleplay.net', '27016', '27015'],
    #  ['s2.modernroleplay.net', '27019', '27018'],
    #  ['s3.modernroleplay.net', '27022', '27021']]
    

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 2018-10-06
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      相关资源
      最近更新 更多