输入一个列表,将其中整数和值为整数的字符串转为整型数据,将其中浮点数字符串转为浮点 数,其他所有字符串保持原样。
输入样例:
[['abc', '123', '45.6', 'car', 'Bike']]
输出样例:
[['abc', 123, 45.6, 'car', 'Bike']]
list1=eval(input())
def exchange(this):
try:
return int(this)
except:
try :
i=float(this)
i='%g'%i #这一步会将它改为字符串leix
return float(i)#使得它会返回定义的float类型而不是字符串类型,用float也行
except:
return this
lang=len(list1)
for i in range(lang):
list1[i]=list(map(exchange ,list1[i]))#list放在map的前面目的是将得到的值改变为列表类型而不是map类型
print(list1)
eval在本题的作用非常关键,如果想要彻底弄懂,最好把eval搞明白
这是一点点我自己的理解,希望没有大的错误