filter 函式 sorted 函式

2021-08-15 19:00:45 字數 1614 閱讀 8338

#coding:utf-8

# filter()函式是用於對乙個序列進行過濾或者篩選的操作。

# 兩個引數:1>函式,設定過濾內容的邏輯;2>序列,list/str都可以。

# 過濾偶數和奇數功能

def filter_function(number):

# 返回true或者false

return number %2 == 1

# 該函式會將序列中的每乙個元素傳遞到函式中執行,在函式中只返回true或者false結果,

filter()函式會根據返回的結果,保留true的元素,過濾掉為false的元素。

res = filter(filter_function, [1,2,3,4,5])

print res

# 將字串中大寫的字元過濾掉。

def filter_upper_char(string):

return string.islower()

print

filter(filter_upper_char, 'abcdefoops')

# 以上兩種寫法可以使用lambda匿名函式完成

print

'-------',filter(lambda number:number%2 == 1, [1,2,3,4,5,6])

print

'====',filter(lambda string:string.islower(), 'abcdefoops')

# sorted()用於對乙個序列進行公升序或者降序的排列

list1 = [20, 15, 70, 3, 9]

print

'sorted = ',sorted(list1)

# sorted()函式對於字串的排序預設是按照ascii碼進行排序的。

string_list = ['b', 'a', 'o', 't', 'e']

print

'*****',sorted(string_list)

# 如果通過sorted函式實現對乙個序列的降序排列,需要給sorted函式設定兩個引數。

# 如果x>y返回-1,x# 如果x>y返回1, xdef reversed(x,y):

if x > y:

return -1

if x < y:

return

1return

0print

'**********=',sorted(string_list, reversed)

# 如果需要實現字串的排序,忽略大小寫,只按照a-z的順序排列。

def ignore_case(string1, string2):

# 可以將兩個字串全部轉化成大寫或者全部轉化成小寫

res1 = string1.upper()

res2 = string2.upper()

if res1 > res2:

return -1

if res1 < res2:

return

1return

0print

'---------',sorted(['baby', 'ads', 'haha', 'case'], ignore_case)

map函式 filter函式 reduce函式

map函式 map函式的結構為 map 處理方法,可迭代物件 相當於for迴圈遍歷可迭代物件中的每乙個元素,對每乙個元素做指定操作,得到乙個和原始資料順序相同的迭代器。在python3中最終得到的結果是乙個迭代器,可以用list 函式轉化為列表,在python2中map函式的結果就是乙個列表。map...

python之zip函式和sorted函式

zip 函式和sorted 函式 zip 函式 將兩個序列合併,返回zip物件,可強制轉換為列表或字典 sorted 函式 對序列進行排序,返回乙個排序後的新列表,原資料不改變 合併兩個列表,以列表型別輸出 list str a b c d list num 1,2,3,4 list new zip...

Python中sort以及sorted函式初探

help on built in function sorted in module builtin sorted sorted iterable,cmp none,key none,reverse false new sorted list help on built in function so...