Python代碼閱讀(第42篇):將輸入轉換成列表形式


Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看項目源碼

本篇閱讀的代碼實現了將非列表形式的輸入轉換成列表形式。

本篇閱讀的代碼片段來自於30-seconds-of-python

cast_list

def cast_list(val):
  return list(val) if isinstance(val, (tuple, list, set, dict)) else [val]

# EXAMPLES
cast_list('foo') # ['foo']
cast_list([1]) # [1]
cast_list(('foo', 'bar')) # ['foo', 'bar']

cast_list函數輸入一個參數,輸出該參數轉換成列表的形式。

函數使用isinstance()檢查給定的值是否是可枚舉的,並通過使用list()將參數的形式進行轉換,或直接封裝在一個列表中返回。

原始代碼片中沒有setdict類型的樣例,接下來我們測試一下這兩種輸入的輸出。

>>> cast_list({'one', 'two', 'three'})
['three', 'one', 'two']
>>> cast_list({"one": 1, "two": 2, "three": 3})
['one', 'two', 'three']

集合類型的輸出元素的順序不一致,這是因為集合是無序。字典類型中,最后list中只有key,沒有value


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM