[英]python converting strings in list to ints and floats
如果我有以下列表:
lst = ['3', '7', 'foo', '2.6', 'bar', '8.9']
我将如何将所有可能的项目相应地转换为int或float以获得
lst = [3, 7, 'foo', 2.6, 'bar', 8.9]
提前致谢。
遍历每个项目并尝试进行转换。 如果转换失败,则说明它不可转换。
def tryconvert(s):
try:
return int(s)
except ValueError:
try:
return float(s)
except ValueError:
return s
lst = ['3', '7', 'foo', '2.6', 'bar', '8.9']
newlst = [tryconvert(i) for i in lst]
print(newlst)
输出:
[3, 7, 'foo', 2.6, 'bar', 8.9]
尝试这样的事情:
lst = ['3', '7', 'foo', '2.6', 'bar', '8.9']
for j,i in enumerate(lst):
if i.isdigit():
lst[j]=int(i)
elif '.' in i:
lst[j]=float(i)
输出:
[3, 7, 'foo', 2.6, 'bar', 8.9]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.