Python 利用filter()筛选回数

时间:2023-02-13 18:27:10

回数就是从左到右念和从右到左年都是一样的。我们需要先判断一个数是不是回数,

思路:判断第一个数和最后一个数相不相等, 判断第二个数和倒数第二个相不相等

以此类推。接下来看函数

 
# 判断一个数是不是回数
def is_palindrome(n):
      s = str (n)
      h = list ( range (( len (s))// 2 ))
      for i in h:
          if s[i] != s[-(i+ 1 )]:
             return False
      return True
 
测试下,
 
N = list ( filter (is_palindrome,[ 1231 , 121 , 22 , 1134341 , 13431 ]))
print (N)
输出结果为[121, 22, 13431]