微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python字符串长度递归

如何解决Python字符串长度递归

| 我正在尝试编写一个简单的函数来递归地计算字符串长度,这是空白。 我可以简单地实现求和,斐波那契和阶乘,但是我试图仅用一个参数来创建最简单的函数,我不喜欢第二个作为计数器索引。 可以给我贴一些小东西吗?     

解决方法

这是你想要的?
def recursiveLength(theString):
    if theString == \'\': return 0
    return 1 + recursiveLength(theString[1:])
    ,这样做:
def length(s):
    return 0 if s == \'\' else 1 + length(s[:-1])

print length(\'hello world\') # prints 11
    ,如果不必是尾递归的:
def strlen(s):
  if s == \'\':
    return 0
  return 1 + strlen(s[1:])
不过,它的效率很低。     ,功能性Haskell风格
       >>> def RecListValue(list_value):
               return type(list_value) in [list,str,tuple] and list_value and    1+RecListValue(list_value[1:]) or 0
       >>> example_struct  = [range(10),(\"one\",)*12,\"simple string\",12]       
       >>> map(RecListValue,example_struct)
           [10,12,13,0]
       >>> 
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。