在 Python 中迭代整数的最佳实践是什么?我发现我需要经常这样做,通常会产生冗长的结果。例如,这是我为Project Euler问题编写的两个函数:
def is_permutation_of(n, m):
""" Return True if n is a permutation of m, else False
"""
if len(str(n)) != len(str(m)):
return False
for d in str(n):
if d not in str(m):
return False
return True
还有一个:
def has_even_digit(n):
""" Return True if n has an even digit, else False
"""
evens = ['0', '2', '4', '6', '8']
for e in evens:
if e in str(n):
return True
return False
除了冗长之外,1) 必须有与每个类型转换相关的计算开销,以及 2) 感觉完全不优雅。有没有另一种方法来处理这个问题?我是否以完全错误的方式处理这些函数,即我是否应该不必遍历整数?
谢谢你的帮助。