python列表转化为整数_如何在Python3中将字符串数列表转换为int数?

本文介绍如何在Python中将包含字符串的嵌套列表转换为整数,并处理非数字字符。通过使用isdigit()函数和自定义转换函数,实现对列表内元素的有效类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,

我试图将这个字符串整数从嵌套列表转换为整数.这是我的清单:

listy = [['+', '1', '0'], ['-', '2', '0']]

我试图转换为这个:

[['+', 1, 2], ['-', 2, 0]]

listy = [['+', '1', '0'], ['-', '2', '0']]

T2 = [list(map(int, x)) for x in listy]

print(T2)

但它给了我一个错误:

ValueError: invalid literal for int() with base 10: '+'

有没有办法在Python 3中解决这个问题?

最佳答案 你可以使用

isdigit():

x = [['+', '1', '0'], ['-', '2', '0']]

x = [[int(i) if i.isdigit() else i for i in j] for j in x]

输出:

[['+', 1, 0], ['-', 2, 0]]

如果您想要一个适用于有符号整数的解决方案:

x = [['+', '1', '0'], ['-', '-2', '0']]

def check_conversion(x):

try:

return int(x)

except:

return x

x = [list(map(check_conversion, i)) for i in x]

输出:

[['+', 1, 0], ['-', -2, 0]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值