You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将单长字符串列表转换为嵌套整数列表?

解决方案:将长字符串列表转换为嵌套整数列表

嘿,这个转换问题其实不难,咱们一步步来搞定它!首先看你的输入是一个只包含单条长字符串的列表,目标是把里面的{x y}格式转成[x,y]的嵌套整数列表,下面给你两种实用的实现方法:

方法一:基础字符串处理(简单直接)

这种方法适合格式固定的场景,步骤清晰:

  1. 先从原始列表中取出唯一的长字符串元素
  2. 去掉所有的大括号{和},得到纯数字空格分隔的字符串
  3. 按空格分割成单个数字的字符串列表
  4. 每两个元素为一组,转成整数列表

代码示例:

# 你的原始输入列表
input_list = ['{0 1} {1 5} {1 8} {1 10} {2 5} {2 7} {2 4} {3 4} {4 9} {5 6}']

# 取出长字符串
s = input_list[0]
# 清理掉所有大括号
cleaned_str = s.replace('{', '').replace('}', '')
# 分割成单个数字字符串
num_strs = cleaned_str.split()
# 每两个一组转换为整数列表
result = [[int(num_strs[i]), int(num_strs[i+1])] for i in range(0, len(num_strs), 2)]

print(result)
# 输出:[[0,1],[1,5],[1,8],[1,10],[2,5],[2,7],[2,4],[3,4],[4,9],[5,6]]

方法二:正则表达式(更健壮)

如果你的字符串格式可能有小变化(比如空格数量不固定、偶尔有其他符号),用正则表达式提取数字对会更可靠:

  1. 同样先取出长字符串
  2. 用正则匹配所有{数字 数字}的格式,提取里面的两个数字
  3. 把每个匹配到的字符串对转成整数列表

代码示例:

import re

# 你的原始输入列表
input_list = ['{0 1} {1 5} {1 8} {1 10} {2 5} {2 7} {2 4} {3 4} {4 9} {5 6}']

s = input_list[0]
# 匹配所有{数字 数字}的模式,捕获里面的两个数字
matches = re.findall(r'\{(\d+) (\d+)\}', s)
# 转换为整数嵌套列表
result = [[int(a), int(b)] for a, b in matches]

print(result)
# 输出:[[0,1],[1,5],[1,8],[1,10],[2,5],[2,7],[2,4],[3,4],[4,9],[5,6]]

两种方法都能得到你想要的结果,你可以根据自己的场景选择~

内容的提问来源于stack exchange,提问作者Mark Wekking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:41:14