Python 仅计算数字/字符串的尾随元素

Python 仅计算数字/字符串的尾随元素,python,Python,考虑到我有一个数字,比如“5797000687000000”。我只想计算数字中尾随的0。因此,对于上述数字,答案将是7,而不是10。我完全不知道如何才能做到这一点 我尝试使用.count函数,但它返回数字中的所有0 注意:这是codechef练习挑战的一部分你可以做一些愚蠢的事情,比如: len(number) - len(number.rstrip('0')) 或者,您可以使用itertools.takewhile: sum(1 for _ in itertools.takewhile(l

考虑到我有一个数字,比如“
5797000687000000
”。我只想计算数字中尾随的
0
。因此,对于上述数字,答案将是
7
,而不是
10
。我完全不知道如何才能做到这一点

我尝试使用
.count
函数,但它返回数字中的所有0


注意:这是codechef练习挑战的一部分

你可以做一些愚蠢的事情,比如:

len(number) - len(number.rstrip('0'))

或者,您可以使用
itertools.takewhile

sum(1 for _ in itertools.takewhile(lambda x: x=='0',reversed(string))

但是,这可能比rstrip的效率低。

你可以做一些愚蠢的事情,比如:

len(number) - len(number.rstrip('0'))

或者,您可以使用
itertools.takewhile

sum(1 for _ in itertools.takewhile(lambda x: x=='0',reversed(string))

但是,这可能比rstrip的效率低。

@mgilson-第一个解决方案非常出色!!我还不想进入itertools,因为我的英语不是很好basics@mgilson-第一个解决方案非常出色!!我还不想进入itertools,因为我的基础知识不是很好