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

如何在Python中根據字串輸入存取預定義清單?

Susan Sarandon
Susan Sarandon原創
2024-12-18 20:42:17468瀏覽

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

透過字串名稱存取變數

問題:

您需要一個傳回基於字元串輸入的預定義清單。例如,給定字串“audio”,該函數應輸出清單 ['mp3', 'wav']。

使用字典的最簡單解決方案:

一個標準的字典可以輕鬆滿足這個要求。

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']
}

get_ext['video']  # Returns ['mp4', 'mkv']

使用函數:

對於更高級的應用程序,可能首選使用函數。

分配字典的 Get 方法:

get_ext = get_ext.get

get_ext('video')  # Returns ['mp4', 'mkv']

將字典包裝在 a中功能:

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()

get_ext('audio')  # Returns ['mp3', 'wav']

這允許您動態修改檔案類型。

get_ext.types['binary'] = ['bin', 'exe']

get_ext('binary')  # Returns ['bin', 'exe']

以上是如何在Python中根據字串輸入存取預定義清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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