gpt4 book ai didi

python - 是否可以在 python 一个线性三元条件运算符中放置中断

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

我想打破 python one liner 的 else 部分中的循环。

value='4,111,010.00400'
for i in value[-1:value.rfind('.')-1:-1]:
if i in ('0', '.'):
value=value[:-1]
else:
break

我编写了这段代码并试图将其转换为 python one liner。所以这样写

for i in value[-1:value.rfind('.')-1:-1]:
value=value[:-1] if i in ('0', '.') else break

但无法将 break 放在那个衬垫内。是否有任何替代方法来放置它,或者是否有可能在 python oneliner 中实现上述目标?

最佳答案

正如您所发现的,您不能将 break 与三元运算符一起使用,原因很简单,因为 break 不是一个值。此外,虽然没有 elseif 语句可以放在一行中,但 else 阻止了一个很好的单行解决方案。

您的代码去除尾随 0 并且最多去除一个句点(如果该句点之后的所有内容都是 0)。因此它等同于:

value = value.rstrip('0').rstrip('.')

关于python - 是否可以在 python 一个线性三元条件运算符中放置中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496276/

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