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

如何将含字符串与数字的列表转换为含字符串与整数的列表?

混合字符串列表的类型转换方案

需求:将包含数字字符串与普通字符串的列表,在不改变元素顺序的前提下,把数字字符串转换为整数,普通字符串保持原有类型。例如输入:

['840', 'AB', '42', '200', 'BE', '54', '1000']
输出:
[840, 'AB', 42, 200, 'BE', 54, 1000]

方法一:简洁列表推导式(适用于正整数字符串)

利用str.isdigit()判断是否为纯数字字符串,是则转为整数,否则保留原字符串:

original_list = ['840', 'AB', '42', '200', 'BE', '54', '1000']
converted_list = [int(item) if item.isdigit() else item for item in original_list]
print(converted_list)
# 输出:[840, 'AB', 42, 200, 'BE', 54, 1000]

方法二:异常处理(通用型,支持正负整数)

如果列表中存在带负号的数字字符串(如'-123'),isdigit()无法识别,此时用try-except捕获异常的方式更可靠:

original_list = ['-840', 'AB', '42', '-200', 'BE', '54', '1000']
converted_list = []
for item in original_list:
    try:
        converted_list.append(int(item))
    except ValueError:
        converted_list.append(item)
print(converted_list)
# 输出:[-840, 'AB', 42, -200, 'BE', 54, 1000]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 07:24:12