filter的簡單認識

2021-07-16 15:05:33 字數 2041 閱讀 8394

filter()把傳入的函式依次作用於每個元素,然後根據返回值是 true還 是false決定保留還是丟棄該元素。

注意到filter()函式返回的是乙個iterator,也就是乙個惰性序列,所以要強迫filter()完成計算結果,需要用list()函式獲得所有結果並返回list。 

下面**是為了實現回數的判斷和輸出,還是沒有擺脫c語言的思路,想把數字一位一位的取出來,變成陣列,然後 在使用迴圈比較陣列。

python自身可以實現字串的reverse,[::-1]

可以直接進行比較返回 true 或者false

# -*- coding: utf-8 -*-

'''def is_palindrome(n):

l =

a = len(str(n))

b = 1

e = false

for i in range(1,a):

b = 10*b

c = n % b

d = len(l)% 2

f = len(l)

for j in range(1,d):

if(l[j-1] == l(f-j)):

e = true

else:

e = false

if(e):

return n

else:

return false

'''def is_palindrome(n):

a = str(n)

b = a[::-1]

if(a==b):

return true

else:

return false

output = list( filter(is_palindrome, range(1, 10000)))

print(output)

#輸出結果
[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, 1001, 1111, 1221, 1331, 1441, 1551, 1661, 1771, 1881, 1991, 2002, 2112, 2222, 2332, 2442, 2552, 2662, 2772, 2882, 2992, 3003, 3113, 3223, 3333, 3443, 3553, 3663, 3773, 3883, 3993, 4004, 4114, 4224, 4334, 4444, 4554, 4664, 4774, 4884, 4994, 5005, 5115, 5225, 5335, 5445, 5555, 5665, 5775, 5885, 5995, 6006, 6116, 6226, 6336, 6446, 6556, 6666, 6776, 6886, 6996, 7007, 7117, 7227, 7337, 7447, 7557, 7667, 7777, 7887, 7997, 8008, 8118, 8228, 8338, 8448, 8558, 8668, 8778, 8888, 8998, 9009, 9119, 9229, 9339, 9449, 9559, 9669, 9779, 9889, 9999]

this簡單認識

this 在函式中簡單的說,this的指向存在於函式呼叫的時候決定的,誰呼叫了這函式 函式中的this就指向誰 例如 1 普通的呼叫函式的時候 fn window2 物件呼叫 var obj obj.f fn obj.f this obj3 定時器呼叫 因為fn不是我們自己手寫 呼叫的 底層是win...

NSRunloop的簡單認識

最早接觸runloop的概念,是第一次用nstimer的時候。乙個最簡單的例子 void viewdidload 如果我們同時在介面上滾動乙個scrollview,那麼我們會發現在滾動停止之前,控制台是不會有輸出的,就好像scrollview在滾動的時候將timer暫停了一樣。通過了解後發現,其實是...

Socket的簡單認識

socket又稱 套接字 網路上的兩個程式通過乙個 雙向的通訊連線實現資料的交換 這個連線的一端稱為乙個 socket。應用程式通常通過 套接字 向網路發出請求或者應答網路請求 網路通訊的要素 網路上的請求就是通過 socket 來建立連線然後互相通訊 ip位址 網路上主機裝置的 唯一標識 埠號 定...