python-3.x - 将字符串拆分为整数列表

标签 python-3.x list

我正在使用 Google 的 OR-Tools 来解决一个简单的 VRP 问题。我需要绘制解决方案。所以,我解析print_solution()函数返回旅游字典。现在,我有了一个像这样的字符串列表

tour = [' 0 ->  14 ->  15 ->  19 ->  1 ->  13 ->  5 ->  10 ->  20 ->  3 ->  7 ->  6 ->  16 ->  4 ->  9 ->  2 ->  17 ->  11 ->  12 ->  8 ->  18 -> 0']

有人可以帮我只获取此列表中的整数吗?

最佳答案

第一个提供的答案有一些问题,但它几乎可以工作。其背后的想法是合理的。请参阅答案的评论以获取对我所看到的问题的解释。

我会以不同的方式执行此操作,以便分割结果是纯粹的数字,而不是两侧带有空格的数字,然后必须单独处理。也就是说,我会让空格被视为分隔符的一部分。所以我会这样做:

import re

tour = [' 0 ->  14 ->  15 ->  19 ->  1 ->  13 -> 5 ->  10 ->  20 ->  3 ->  7 ->  6 ->  16 ->  4 ->  9 ->  2 ->  17 ->  11 ->  12 ->  8 ->  18 -> 0']

x = [int(digits) for digits in re.split(r'\s*->\s*', tour[0])]

print(x)

结果:

[0, 14, 15, 19, 1, 13, 5, 10, 20, 3, 7, 6, 16, 4, 9, 2, 17, 11, 12, 8, 18, 0]

无论 int() 是否正确处理用空格填充的参数,此代码都将起作用,因为空格已被删除。

关于python-3.x - 将字符串拆分为整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65486242/

相关文章:

python-3.x - 可视化链接攻击的最佳方式是什么

asp.net-mvc - ASP.NET MVC获取下拉列表值

c# - DataGridView List<T> 列?

python - 使用 Python 请求提取 href URL

python - 无法从网页中抓取不同项目的标题

python - 如何迭代字典?

python - 导入错误 : No module named 'yaml'

python - 如果不在 '<a href' 中,则从列表中删除项目?

python - 如何拼接一个列表并使用拼接部分创建一个新列表?

python - 比较 2 个字符串列表,更新同一索引位置的第三个字符串列表