Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表中包含的元组和字典_Python_List_Dictionary_Tuples - Fatal编程技术网

Python 列表中包含的元组和字典

Python 列表中包含的元组和字典,python,list,dictionary,tuples,Python,List,Dictionary,Tuples,我试图从包含元组和字典的列表中获取特定的字典。我如何从下面的列表中返回键为“k”的词典 lst = [('apple', 1), ('banana', 2), {'k': [1,2,3]}, {'l': [4,5,6]}] 为了你的 lst = [('apple', 1), ('banana', 2), {'k': [1,2,3]}, {'l': [4,5,6]}] 使用 返回 {'k': [1, 2, 3]} i、 e.列表的第一个对象是字典,包含键“k” 如果未找到此类对象,则会引发S

我试图从包含元组和字典的列表中获取特定的字典。我如何从下面的列表中返回键为“k”的词典

lst = [('apple', 1), ('banana', 2), {'k': [1,2,3]}, {'l': [4,5,6]}]
为了你的

lst = [('apple', 1), ('banana', 2), {'k': [1,2,3]}, {'l': [4,5,6]}]
使用

返回

{'k': [1, 2, 3]}
i、 e.列表的第一个对象是字典,包含键“k”

如果未找到此类对象,则会引发
StopIteration
。如果要返回其他内容,例如
None
,请使用以下命令:

next((elem for elem in lst if isinstance(elem, dict) and 'k' in elem), None)

如果您不介意代码中有点难看,我将遍历列表并检查每个元素。例如:

def find_dict(lst):
    for element in lst:
        if type(element) == dict:
            if 'k' in element.keys():
                return element

也许应该有一种更为通灵的方式来实现这一点。

键入这一点花了太长时间。。球队赢了!
next((elem for elem in lst if isinstance(elem, dict) and 'k' in elem), None)
def find_dict(lst):
    for element in lst:
        if type(element) == dict:
            if 'k' in element.keys():
                return element