gpt4 book ai didi

python - 在两个值之间切换变量的大多数 pythonic 方法

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

我有一个变量 p,它是正则表达式匹配的输出,在任何混合情况下都保证为“真”或“假”。如果是“真”,我希望它是“假”,如果是“假”,我希望它是“真”。最终结果始终为大写。

我想到了以下四种方法。哪个是最 pythonic 的还是有更好的?

p=['TRUE','FALSE'][eval(p.capitalize())]
p=(not eval(p.capitalize())).__repr__().upper()
p='FALSE' if eval(p.capitalize()) else 'TRUE'
p={'TRUE':'FALSE','FALSE':'TRUE'}[p.upper()]

最佳答案

IMO,最 pythonic 的方法不是使用 eval,也不是 dunders,也不是使用 2 元素列表索引,它是一个简单的 if-else 条件(或三元):

p = 'TRUE' if p.upper() == 'FALSE' else 'FALSE'

它不使用黑客或诡计,它简单且(更重要的是)可读。

关于python - 在两个值之间切换变量的大多数 pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56781271/

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