Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看專案原始碼
本篇閱讀的代碼實作了將串列分割成指定大小的小串列的功能,最后一個小串列的長度由實際剩余的項而定,
本篇閱讀的代碼片段來自于30-seconds-of-python,
chunk
from math import ceil
def chunk(lst, size):
return list(
map(lambda x: lst[x * size:x * size + size],
list(range(0, ceil(len(lst) / size)))))
# EXAMPLES
chunk([1, 2, 3, 4, 5], 2) # [[1,2],[3,4],[5]]
chunk函式接收一個串列和一個規模引數,回傳分割后的小串列,函式使用list()和range()來創建一個序號串列,指明分割后的串列序號,在序號串列上使用map()并用輸入串列的切片來填充它,最后,回傳新創建的串列,
math.ceil(x)函式回傳x的上限,即大于或者等于x的最小整數,輸入串列的長度無法被分割規模整除的時候,最后剩余的項仍然會合并成一個串列,所以,這里需要使用math.ceil(x)獲取大于或者等于 (len(lst) / size)的最小整數,
函式通過list()和range()生成長度為小串列個數的序號串列(從0開始),輸入串列lst的切片lst[x * size:x * size + size]就是第x個小串列的內容,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/349494.html
標籤:其他
上一篇:C語言 vprintf 函式 - C語言零基礎入門教程
下一篇:PHP面試(A-02)
