python - 如何获取元素所在的列表?

标签 python list

假设我有两个列表:

L1 = [a, b, c, d]

L2 = [e, f, g, h]

字母可以是任何类型(没有区别)。

有没有办法问 Python:“哪个列表(L1 和/或 L2)包含元素 'a'(或任何其他元素),并且具有它返回该列表的名称?

最佳答案

为了实现这一点,更好的数据结构将使用 dict .例如:

my_list_dict = {
    'L1': ['a', 'b', 'c', 'd'],
    'L2': ['e', 'f', 'g', 'h']
}

然后您可以创建一个自定义函数来完成您的任务:

def find_key(c):
    for k, v in my_list_dict.items():
        if c in v:
            return k
    else:
        raise Exception("value '{}' not found'.format(c))

样本运行:

>>> find_key('c')
'L1'
>>> find_key('g')
'L2'

关于python - 如何获取元素所在的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917114/

相关文章:

python - 如何将 DataFrame 的列式和行式合并为一维数组?

python - Apscheduler 脚本文件静默停止 - 没有错误

python - 将一组区间简化为最简单的表示

list - 更新数据验证列表范围

python - 将文档逐行追加到列表中

python - 有没有办法从列表创建单列 pandas DataFrame 而不复制列表?

Python:如何根据给定文件夹的内容创建名称列表?

python - 在 python 中使用 **kwargs 和 SimpleXMLRPCServer

python - 从 web2py 返回 JSON 列表

python - Django @override_settings 不允许字典?