作者:无声无息无心跳 | 来源:互联网 | 2024-10-17 09:36
在python中,我想将列表的一些字符串元素转换为int。
所以我有:
my_list = [“汽车”、“10”、“20”、“50”、“60”、“13”、“自行车”]
如何制作:
my_list = ["汽车", 10, 20, 50, 60, 13, "自行车"]
回答
一个简单的理解就可以:
my_list = [int(x) if x.isdigit() else x for x in my_list]
这使用条件表达式并使用str.isdigit
.
该str.isdigit
检查并假定所有的数字都是非负整数。对于更复杂的数字字符串,例如"-5"
or"1.7"
您可能必须更加冗长并使用循环,并且可能使用更广泛的类型 ( float
) 以符合@Sujay 的解决方案。