-1) 并保持任何其他字符串不变,而且我需要转换字符-6ren">
gpt4 book ai didi

python - 使用 "try"进行列表循环操作

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:31 25 4
gpt4 key购买 nike

我有一个值列表,可以是像“string”这样的字符串,也可以是以字符串格式给出的数字,如“2.3”

我想将特定值的字符串转换为数字 ("N/A"->-1) 并保持任何其他字符串不变,而且我需要转换字符串中给出的数字,在 float 中格式为字符串格式 ("1.0"->1)等等

如果我首先遍历整个列表并将 N/A 值像这样转换为 -1,我就成功了

for i in list:
if i=="N/A":
i=-1

然后运行

l = [int(i) for i in l]

但我仍然可能有字符串,除了“N/A”之外,我不想在尝试转换它们时遇到麻烦,并且需要在第二个循环中使用 try。我怎样才能做到这一点?

这是我尝试的代码,但我给了我语法错误

l = [try: int(float(i)) except: pass] for i in l

来源列表示例:["1.0","N/A","lol"] 我需要它是 [1,-1,"lol"]

最佳答案

使用 try except ,如果发生异常并且它是 "N/A" 则尝试转换为 int 所以它应该被替换通过 -1 :

li = ["1.0" , "N/A" , "12" , "2.0", "Ok"]

for i,v in enumerate(li):
try:
li[i] = int(float((v)))
except:
if(li[i] == "N/A"):
li[i] = -1

li # [1, -1, 12, 2, "Ok"]

关于python - 使用 "try"进行列表循环操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35840266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com