Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看專案原始碼
本篇閱讀的代碼實作將一個包含基礎元素和串列元素的串列展開成一個新串列的功能,
本篇閱讀的代碼片段來自于30-seconds-of-python,
spread
def spread(arg):
ret = []
for i in arg:
ret.extend(i) if isinstance(i, list) else ret.append(i)
return ret
# EXAMPLES
spread([1, 2, 3, [4, 5, 6], [7], 8, 9]) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
spread函式將一個串列的元素平鋪到一個新的串列中,spread遍歷原串列所有元素,如果元素是一個 list,則使用list.extend(),否則使用list.append(),
isinstance(object, classinfo)用于判斷輸入object是否屬于classinfo型別的實體或是其子類,在這里用于判斷原始串列中的元素是否是一個list,
ret.extend(i)和ret += i一樣,使用i的內容擴展ret,將串列i中的元素逐個加入到串列ret中,類似于ret[len(ret):len(ret)] = i操作,
ret.append(i)將i作為一個元素添加到串列ret的末尾,和ret[len(ret):len(ret)] = [i]一樣,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329999.html
標籤:Python
