【问题标题】:How to convert this string to an array of ints? [duplicate]如何将此字符串转换为整数数组? [复制]
【发布时间】:2020-08-26 00:12:29
【问题描述】:

如何在python中将此字符串转换为dict?

[[[0,1,2,2,3,3,3,3,3,4,4,4,5,5,6,6,6,5],  [1,0,1,1,2,2,2,2,2,3,3,3,4,4,5,5,5,4],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,0,0,0,0]]]

应该是这样的

[[0,1,2,2,3,3,3,3,3,4,4,4,5,5,6,6,6,5],  [1,0,1,1,2,2,2,2,2,3,3,3,4,4,5,5,5,4],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,0,0,0,0]]

【问题讨论】:

  • 你能详细说明你的问题吗,我看不到你要创建的字典在哪里
  • 第一项是字符串,我需要它是int数组的数组
  • 您是否要进一步展平现有列表?
  • 第一项,如您的问题所示,是一个 int 数组数组的数组 - 或者用 Python 术语来说,是一个列表列表,而不是一个字符串。
  • 我想在矩阵上使用旅行推销员贪心算法,数据以字符串格式出现,我不知道在矩阵中读取它是否热

标签: python string dictionary


【解决方案1】:

不确定字典在哪里发挥作用,但您可以执行以下操作来获得所需的输出:

from ast import literal_eval

arr_string = '[[[0,1,2,2,3,3,3,3,3,4,4,4,5,5,6,6,6,5],  [1,0,1,1,2,2,2,2,2,3,3,3,4,4,5,5,5,4],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,0,0,0,0]]]'

result = [arr for arr in literal_eval(arr_string)[0]]
print(result)   # [[0,1,2,2,3,3,3,3,3,4,4,4,5,5,6,6,6,5],  [1,0,1,1,2,2,2,2,2,3,3,3,4,4,5,5,5,4],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [2,1,0,0,1,1,1,1,1,2,2,2,3,3,4,4,4,3],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [3,2,1,1,0,0,0,0,0,1,1,1,2,2,3,3,3,2],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [4,3,2,2,1,1,1,1,1,0,0,0,1,1,2,2,2,1],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,1,1,1,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [6,5,4,4,3,3,3,3,3,2,2,2,1,1,0,0,0,0],  [5,4,3,3,2,2,2,2,2,1,1,1,0,0,0,0,0,0]]


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多