在Python中,我們有時會遇到需要根據提供的字串傳回特定清單的情況。這可以使用多種方法來實現,其中之一涉及利用字典。
最直接的方法是定義字典,其中鍵代表字串輸入,對應的值是所需的列表。
get_ext = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] }
要檢索所需的列表,只需訪問相應的key:
get_ext['video'] # Output: ['mp4', 'mkv']
如果更喜歡基於函數的解決方案,您可以將字典的get 方法指派給變數:
get_ext = get_ext.get
此函數將傳回指定鍵的列表,如果鍵不存在,則傳回None
get_ext('video') # Output: ['mp4', 'mkv']
要為未知鍵指定自訂預設值,請考慮使用包裝函數:
def get_ext(file_type): types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } return types.get(file_type, [])
此函數將對於未知鍵傳回一個空列表。
對於對於注重效能的應用程序,值得注意的是,每次呼叫函數時,都會重新建立包裝函數中的類型字典。為了優化這一點,您可以建立一個類別並在建構函式中初始化類型字典,確保它只建立一次。
class get_ext(object): def __init__(self): self.types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } def __call__(self, file_type): return self.types.get(file_type, []) get_ext = get_ext()
這種基於類別的方法可以輕鬆修改已識別的檔案類型,同時保持效能效率.
以上是Python中如何根據字串輸入傳回預定義清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!