借助python内建的filter()方法实现。
python内建的filter()方法用于过滤序列。函数接收一个函数和一个序列,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
code:
# -*- coding: utf-8 -*-
def is_palindrome(number):
ch = str(number)
#print(ch[0:-1], ch[-1:1])
return ch[:] == ch[::-1]
def main():
output = filter(is_palindrome, range(1, 1000))
print(list(output))
if __name__ == '__main__':
main()
注意:filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。
46万+

被折叠的 条评论
为什么被折叠?



