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

如何从Python列表字符串中提取core编号并存入变量?

提取列表内core编号的实现方案

核心思路

观察字符串格式可知,core编号固定跟在local-core-路径片段后,使用正则表达式匹配该固定前缀后的连续数字即可完成提取,该方法不受字符串内参数顺序、其他字段内容变化影响,稳定性更高。

可直接运行的代码

import re

# 原始待处理列表
l = ['-t2=Idle -D2=/sv/socket0/local-core-01/local-cpu-00 -T2=0 \\\n',
     '-t3=Idle -D3=/sv/socket0/local-core-02/local-cpu-01 -T3=0 \\\n',]

# 用于存储结果的指定变量,可按需更改变量名
core_ids = []
for single_str in l:
    # 正则匹配local-core-后的数字片段,括号标记需要提取的分组
    match_result = re.search(r'local-core-(\d+)', single_str)
    if match_result:
        # 提取匹配到的core编号,转整数可去掉前导零,保留字符串则去掉int()包裹即可
        core_num = int(match_result.group(1))
        core_ids.append(core_num)

结果说明

执行代码后,core_ids变量的输出为[1, 2];如果需要保留带前导零的字符串格式(如'01'/'02'),删除代码中int()转换逻辑即可,得到的结果为['01', '02']。

无正则依赖的备选实现

如果不想引入正则模块,在core编号固定为2位长度的前提下,也可以通过字符串定位切片实现:

core_ids = []
core_prefix = 'local-core-'
for single_str in l:
    prefix_pos = single_str.find(core_prefix)
    if prefix_pos != -1:
        # 偏移前缀长度后取2位即为core编号
        core_num_str = single_str[prefix_pos + len(core_prefix) : prefix_pos + len(core_prefix) + 2]
        core_ids.append(core_num_str)

注意:该备选方案强依赖core编号固定为2位的规则,如果后续出现1位、3位长度的core编号(如local-core-1、local-core-128)会出现取值错误,优先使用正则匹配方案。

如果需要将提取结果存入其他自定义命名的变量,直接替换代码中core_ids的变量名即可。

内容的提问来源于stack exchange,提问作者Kierra Howard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:12:19