【问题标题】:Best way to convert multidimensional array to string将多维数组转换为字符串的最佳方法
【发布时间】:2021-12-29 08:13:08
【问题描述】:

我有一个 Python 多维数组:

list = [[0,1,2],[3,4,5],[6,7,8]]

有没有办法把它转换成这样的字符串?

# it must keep the brackets
string = "[[0,1,2],[3,4,5],[6,7,8]]"

当然,我可以遍历数组并构建我的字符串,但我想知道是否还有其他更好的选择。

感谢任何帮助。

【问题讨论】:

  • result = "[" + ",".join([str(v) for v in list]) + "]" - 用于二维列表。或者只是str(list)。就这么容易。您可以将空格替换为“”
  • @LarrytheLlama 好的,这是我最后的选择,但我在问是否还有其他选择 :-)
  • 我知道这是你最后的选择,但计算机就是这样构建的。这就是它应该如何工作,而不是例外。无论如何,str([[0,1,2],[3,4,5],[6,7,8]]).replace(" ","")
  • @LarrytheLlama 好的 :-)

标签: python string multidimensional-array


【解决方案1】:

只需使用str 方法即可。

l = [[0,1,2],[3,4,5],[6,7,8]]
s = str(s)
print(s) # [[0,1,2],[3,4,5],[6,7,8]]
print(type(s)) # <class 'str'>
print(s[0]) # [

【讨论】:

  • 我误以为这种方法只能用于将整数、小数等转为字符串,不能转为数组
  • @LifeafterGuest 是的,这是一个神奇的方法:)
【解决方案2】:

您可以将字符串转换为 JSON,以使输出紧凑而没有空格,有一个 line in the docs with details

要获得最紧凑的 JSON 表示,您应该指定 (',', ':') 来消除空格。

import json
json.dumps(list, separators=(',', ':'))  # '[[0,1,2],[3,4,5],[6,7,8]]'

【讨论】:

    【解决方案3】:

    这会保留括号并将其转换为字符串。

    string = str(list)
    

    【讨论】:

      猜你喜欢
      • 2019-06-15
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      相关资源
      最近更新 更多