首頁 >後端開發 >Python教學 >Python中如何根據字串輸入傳回預定義清單?

Python中如何根據字串輸入傳回預定義清單?

DDD
DDD原創
2024-12-18 22:04:15345瀏覽

How Can I Return a Predefined List in Python Based on String Input?

根據字串輸入回傳預定值

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn