美文网首页
根据value, 获取列表字典数据中对应元素

根据value, 获取列表字典数据中对应元素

作者: battleMonkey | 来源:发表于2019-05-15 15:05 被阅读0次

根据value, 获取列表字典数据中对应元素,代码如下:

def getIndex(li, val, whichKey=None):
    l = []
    for num, i in enumerate(li):
        l += ((num, i.get(whichKey), k) for k, v in i.items() if v == val)
    return l

详解:

def getIndex(li, val, whichKey=None):
    """

    :param li: 数据data
    :param val: 查询的value值
    :param whichKey: 显示字典数据的关键字key, 不传则为None
    :return: 查询到的 包含 value 的, 元素的元组列表,[(index, whichKey, key),...]
    """
    l = []
    # 获取列表<数据i>及其<下标num>
    for num, i in enumerate(li):
        # i 为 字典, 形如{key1: value1, key2: value2}
        # 追加数据  查询的val对应的 num, whichKey, key 到列表 l 中
        l += ((num, i.get(whichKey), k) for k, v in i.items() if v == val)
    return l
d = [{"name": 'Tony', 'a': 12, 'c': 12}, {"name": 'Peter', 'g': 12}, {"name": 'Tom', 'k': 33}, {"name": 'Tom', 'l': 12}]

res = getIndex(d, 12)
print(res)

[(0, None, 'a'), (0, None, 'c'), (1, None, 'g'), (3, None, 'l')]
res2 = getIndex(d, 12, 'name')
print(res2)

[(0, 'Tony', 'a'), (0, 'Tony', 'c'), (1, 'Peter', 'g'), (3, 'Tom', 'l')]

相关文章

  • 根据value, 获取列表字典数据中对应元素

    根据value, 获取列表字典数据中对应元素,代码如下: 详解:

  • Python-4.数据结构

    本章包含内容: 列表:列表中的元素使用方括号包含 字典(键值对):花括号,且带有key:value对应关系 元组:...

  • 15.字典

    说明: 字典和列表一样,也能够存储多个数据 列表中找某个元素时,是根据下标进行的 字典中找某个元素时,是根据'名字...

  • 字典

    说明 1.字典和列表一样,也能够存储多个数据。2.列表中找某个元素时,是根据下标进行的;字典中找某个元素时,是根据...

  • Python(三)字典操作

    一: 字典 1: 字典和列表一样, 能够存储多个数据 2: 列表根据下标对元素处理, 但是字典是根据"key"键值...

  • Python2.7之字典

    字典(dic)//我觉得是列表的另一种用法,只是用列表比较麻烦,可以用字典来简化,元素采用key-value对应方...

  • Python 进阶(上)

    1、如何在列表、字典、集合中根据条件筛选数据? 列表 字典 集合 2、如何为元组中的每个元素命名,提高程序可读性?...

  • 字典

    字典 列表的作用:存储多个数据,按照顺序存入。列表的劣势:很难通过标记去获取对应的数据。字典的优势:通过key:v...

  • python---dict字典的相关方法介绍

    #列表中查找数据是根据下表索引来查找 字典中是按照键来获取值的 dic={'name':'jackson', ...

  • 11总 文件和异常捕获

    复习: 容器类型:字典、列表、元祖、集合 1.列表:有序(可以通过下标获取元素)、可变(增删改)、列表中的元素可以...

网友评论

      本文标题:根据value, 获取列表字典数据中对应元素

      本文链接:https://www.haomeiwen.com/subject/wrbpaqtx.html