首页 >后端开发 >Python教程 >Python中如何根据字符串输入返回预定义列表?

Python中如何根据字符串输入返回预定义列表?

DDD
DDD原创
2024-12-18 22:04:15355浏览

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