String length without len function

前端 未结 17 1321
逝去的感伤
逝去的感伤 2020-12-10 21:29

Can anyone tell me how can I get the length of a string without using the len() function or any string methods. Please anyone tell me as I\'m tapping my head ma

17条回答
  •  难免孤独
    2020-12-10 21:57

    >>> sum(map(lambda x:1, "hello world"))
    11
    
    >>> sum(1 for x in "foobar")
    6
    
    >>> from itertools import count
    >>> zip(count(1), "baz")[-1][0]
    3
    

    A "tongue twister"

    >>> sum(not out not in out for out in "shake it all about")
    18
    

    some recursive solutions

    >>> def get_string_length(s):
    ...     return 1 + get_string_length(s[1:]) if s else 0
    ... 
    >>> get_string_length("hello world")
    11
    >>> def get_string_length_gen(s):
    ...     yield 1 + next(get_string_length_gen(s[1:])) if s else 0
    ... 
    >>> next(get_string_length_gen("hello world"))
    11
    >>> 
    

提交回复
热议问题