Python:空字符串计算为“ false”

暴民狗

我可能在一种特殊情况下,将空字符串评估为true会节省几行代码。(我理解空字符串评估为false。如下)

''  and print ("empty string is true")
'0' and print ("non-empty string is true")

> non-empty string is true

原因如下:

这样就可以了。但是请检查输出。

 def baseN(num,b):
    return (num == 0) and "0" or 
           (baseN(num // b, b) + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

> baseN(32,16)
> 020

更改最后一个结果(在递归末尾)以打印出空字符串,给我错误。

 def baseN(num,b):
    return (num == 0) and "" or 
           ( baseN(num // b, b) + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

> baseN(32,16)
> File "<stdin>", line 2, in baseN
> RuntimeError: maximum recursion depth exceeded in comparison

这显然是行不通的,因为(num==0) and "" (false)它将始终评估为False->导致未终止的递归调用。

有没有一种方法可以仅使用逻辑运算/表达式(不使用if / else语句)来修复它?

以下将起作用。但是它不会只使用逻辑运算符。

def baseN(num,b):
    if (num==0):
       return ""
    else:
        return (baseN(num // b, b) 
               + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

baseN(32,16)
布鲁诺·德斯胡里尔斯

Python具有三元运算符:

def baseN(num,b):
    return baseN(num // b, b) + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b] if num else "" 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在JavaScript中空字符串文字的计算结果为false?

来自分类Dev

为什么在JavaScript中空字符串文字的计算结果为false?

来自分类Dev

StringUtils.isBlank为空字符串返回false

来自分类Dev

Java子字符串始终计算为false

来自分类Dev

Python:将空字符串与False比较是False,为什么呢?

来自分类Dev

为什么在JavaScript中某些非空字符串的求值为“ false”?

来自分类Dev

如何检查Django表单数据是否为None,''(空字符串)或False

来自分类Dev

空字符串如何同时包含True和False?

来自分类Dev

PHP-parse_ini_(string | file)-为什么false并且没有值被截断为空字符串?

来自分类Dev

isalpha()函数为字符串中的字符返回false

来自分类Dev

isalpha()函数为字符串中的字符返回false

来自分类Dev

逻辑应用程序条件“数组包含字符串”的条件在期望为true时计算为false

来自分类Dev

检查空字符串时,“ == False”和“ is not”之间有区别吗?

来自分类Dev

是否有更好的方法从数组中过滤NULL,false和空字符串(并保留ZERO)?

来自分类Dev

如何从JavaScript中的数组中删除null,undefined,NaN,0,false和空字符串?

来自分类Dev

string.IsNullOrEmpty和string.IsNullOrWhiteSpace对于空字符串返回false

来自分类Dev

即使在开发人员工具中列出了cookie,并且httpOnly标志设置为false时,访问document.cookie仍返回空字符串

来自分类Dev

iOS,JSON检查值是否为false或字符串

来自分类Dev

字符串将其值设置为“ False”

来自分类Dev

来自嵌套的字符串比较返回始终为 false

来自分类Dev

为什么评估函数将字符串“ false”设置为布尔值false?

来自分类Dev

Nokogiri在带.empty的空字符串上返回False?

来自分类Dev

Python:在字符串中查找子字符串,但返回 True 或 False 而不是索引位置

来自分类Dev

比较相等的字符串返回false

来自分类Dev

比较相同的字符串返回false

来自分类Dev

如果字符串为空,则将 bool 设置为 false

来自分类Dev

Python-将空字符串设置为0

来自分类Dev

PHP字符串'=='在相同字符串上返回false

来自分类Dev

解密后的已加密字符串(AES)输出相同的值,但equals()上为false

Related 相关文章

  1. 1

    为什么在JavaScript中空字符串文字的计算结果为false?

  2. 2

    为什么在JavaScript中空字符串文字的计算结果为false?

  3. 3

    StringUtils.isBlank为空字符串返回false

  4. 4

    Java子字符串始终计算为false

  5. 5

    Python:将空字符串与False比较是False,为什么呢?

  6. 6

    为什么在JavaScript中某些非空字符串的求值为“ false”?

  7. 7

    如何检查Django表单数据是否为None,''(空字符串)或False

  8. 8

    空字符串如何同时包含True和False?

  9. 9

    PHP-parse_ini_(string | file)-为什么false并且没有值被截断为空字符串?

  10. 10

    isalpha()函数为字符串中的字符返回false

  11. 11

    isalpha()函数为字符串中的字符返回false

  12. 12

    逻辑应用程序条件“数组包含字符串”的条件在期望为true时计算为false

  13. 13

    检查空字符串时,“ == False”和“ is not”之间有区别吗?

  14. 14

    是否有更好的方法从数组中过滤NULL,false和空字符串(并保留ZERO)?

  15. 15

    如何从JavaScript中的数组中删除null,undefined,NaN,0,false和空字符串?

  16. 16

    string.IsNullOrEmpty和string.IsNullOrWhiteSpace对于空字符串返回false

  17. 17

    即使在开发人员工具中列出了cookie,并且httpOnly标志设置为false时,访问document.cookie仍返回空字符串

  18. 18

    iOS,JSON检查值是否为false或字符串

  19. 19

    字符串将其值设置为“ False”

  20. 20

    来自嵌套的字符串比较返回始终为 false

  21. 21

    为什么评估函数将字符串“ false”设置为布尔值false?

  22. 22

    Nokogiri在带.empty的空字符串上返回False?

  23. 23

    Python:在字符串中查找子字符串,但返回 True 或 False 而不是索引位置

  24. 24

    比较相等的字符串返回false

  25. 25

    比较相同的字符串返回false

  26. 26

    如果字符串为空,则将 bool 设置为 false

  27. 27

    Python-将空字符串设置为0

  28. 28

    PHP字符串'=='在相同字符串上返回false

  29. 29

    解密后的已加密字符串(AES)输出相同的值,但equals()上为false

热门标签

归档