三行代码筛选回数:回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数

三行代码筛选回数:回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数

题目来源是廖雪峰的官方网站
之前看了网上一些解答,写得比较长,感觉结合切片写可能好一点。

代码如下:

#筛选1-1000的回数
def is_palindrome(L):
    a = list(map(int,str(L)))
    b = a[::-1]
    return a == b
output = filter(is_palindrome, range(1, 1000))
#打印
print(list(output))

核心代码只有三行,将传入的整数拆为单个数字组成列表,再将列表反转,判断列表是否相等,解决问题。

你可能感兴趣的:(Python学习,回数,筛选回数,python,切片,filter)