Python 列表中包含的元组和字典
我试图从包含元组和字典的列表中获取特定的字典。我如何从下面的列表中返回键为“k”的词典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
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