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

Python如何将嵌套列表中的元组格式字符串转换为整数元组

字符串元组转整数元组实现方案

需求说明

需要保留原有二维列表的嵌套结构,将列表内格式为(x,y)的字符串元素,转换为两个整数组成的元组类型。

  • 原始输入格式:
[['(0,3)', '(1,2)', '(2,2)'], ['(0,3)', '(1,2)', '(2,2)']]
  • 目标输出格式:
[[(0,3), (1,2), (2,2)], [(0,3), (1,2), (2,2)]]

代码实现

写法1:易读的循环实现

逻辑直观,适合新手理解:

raw_data = [['(0,3)', '(1,2)', '(2,2)'], ['(0,3)', '(1,2)', '(2,2)']]
converted_data = []

for sub_list in raw_data:
    temp_sub = []
    for item_str in sub_list:
        # 移除首尾括号,按逗号拆分数字字符串
        a, b = item_str.strip('()').split(',')
        # 转整数后组装为元组
        temp_sub.append((int(a), int(b)))
    converted_data.append(temp_sub)

写法2:简洁嵌套推导式实现

代码更精简,执行效率和可读性平衡较好:

raw_data = [['(0,3)', '(1,2)', '(2,2)'], ['(0,3)', '(1,2)', '(2,2)']]
converted_data = [
    [tuple(map(int, item.strip('()').split(','))) for item in sub_list]
    for sub_list in raw_data
]

注意事项

禁止直接使用eval(item)做转换:如果输入数据来源不可控,eval函数会执行字符串内的任意代码,存在严重的安全漏洞。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 08:54:22