廖雪峰Python教程之filter

2021-09-01 12:06:52 字數 1092 閱讀 4037

filter-過濾器

python內建的filter()函式用於過濾序列。

和map()類似,filter()也接收乙個函式和乙個序列。和map()不同的是,filter()把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。

回數是指從左向右讀和從右向左讀都是一樣的數,例如12321,909。請利用filter()篩選出回數:

方案一:

def is_palindrome(n):

nn = str(n) #轉成字串

return nn == nn[::-1] #反轉字串並對比原字串返回true/false

print list(filter(is_palindrome,range(1,1000)))

out:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494, 505, 515, 525, 535, 545, 555, 565, 575, 585, 595, 606, 616, 626, 636, 646, 656, 666, 676, 686, 696, 707, 717, 727, 737, 747, 757, 767, 777, 787, 797, 808, 818, 828, 838, 848, 858, 868, 878, 888, 898, 909, 919, 929, 939, 949, 959, 969, 979, 989, 999]

方案二:

print list(filter(lambda n : str(n)==str(n)[::-1],range(1,1000))) #str(n)同上

廖雪峰Python教程之mapreduce

1.map 函式 map 函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。def f x return x x r map f,1,2,3,4,5 list r out 1,4,9,16,25 2.reduce ...

廖雪峰Python教程之sorted

sorted 排序函式 sorted 也是乙個高階函式。用sorted 排序的關鍵在於實現乙個對映函式。作業1 假設我們用一組tuple表示學生名字和成績 l bob 75 adam 92 bart 66 lisa 88 方法1 l bob 75 adam 92 bart 66 lisa 88 de...

廖雪峰python教程 Python簡介

python是著名的 龜叔 guido van rossum在1989年聖誕節期間,為了打發無聊的聖誕節而編寫的乙個程式語言。現在,全世界差不多有600多種程式語言,但流行的程式語言也就那麼20來種。如果你聽說過tiobe排行榜,你就能知道程式語言的大致流行程度。這是最近10年最常用的10種程式語言...