目錄
- 前言
- 一、python sorted
-
- 二、python bin
-
- 三、ord
- 四、python filter
-
- 五、zip
-
前言
做 leetcode 過程中,常常需要使用到 python 的内置函數, 這些函數簡潔實用,本文記錄使用過的一些函數,增強記憶。
一、python sorted
sorted() 函數對所有可疊代的對象進行排序操作。
1. 說明
說明 | 描述 |
文法 | sorted(iterable, key=None, reverse=False) |
參數說明 | iterable | 可疊代對象 |
key | 主要是用來進行比較的元素,隻有一個參數,具體的函數的參數就是取自于可疊代對象中,指定可疊代對象中的一個元素來進行排序 |
reverse | 排序規則,reverse = True 降序 , reverse = False升序(預設) |
傳回值 | 新排序的清單。 |
2. 示例
# 将數組中的元素按照其二進制表示中數字 1 的數目升序排序
return sorted(arr, key=lambda x: (bin(x).count('1'),x))
二、python bin
bin() 傳回一個整數 int 或者長整數 long int 的二進制表示。
1. 說明
說明 | 描述 |
文法 | bin(x) |
參數說明 | x -- int 或者 long int 數字 |
傳回值 | 二進制字元串 |
2. 示例
>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'
三、ord
四、python filter
filter() 函數用于過濾序列,過濾掉不符合條件的元素,傳回由符合條件元素組成的新清單。
1. 說明
說明 | 描述 |
文法 | filter(function, iterable) |
參數說明 | function | 判斷函數。 |
iterable | 可疊代對象。 |
傳回值 | 傳回清單。 |
2. 示例
def is_odd(n):
return n % 2 == 1
# 标準使用方法
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
# 使用lambda 方式
newlist = filter(lambda x : x % 2 == 1, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
五、zip
zip() 函數用于将可疊代的對象作為參數,将對象中對應的元素打包成一個個元組,然後傳回由這些元組組成的清單。
如果各個疊代器的元素個數不一緻,則傳回清單長度與最短的對象相同,利用 * 号操作符,可以将元組解壓為清單。
1. 說明
說明 | 描述 |
文法 | zip([iterable, ...]) |
參數說明 | iterable : 一個或多個疊代器 |
傳回值 | 傳回清單。 |
2. 示例
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
zips = zip(a, b, c)
print(list(zips)) # [(1, 4, 7), (2, 5, 8), (3, 6, 9)]