Python-字典列表中的值

Python-字典列表中的值,python,Python,可能重复: 我有一份表格中的词典列表 my_dict_list = [] my_dict_list.append({'text':'first value', 'value':'number 1'}) my_dict_list.append({'text':'second value', 'value':'number 2'}) my_dict_list.append({'text':'third value', 'value':'number 3'}) 我还有另一份表格: results

可能重复:

我有一份表格中的词典列表

my_dict_list = []
my_dict_list.append({'text':'first value', 'value':'number 1'})
my_dict_list.append({'text':'second value', 'value':'number 2'})
my_dict_list.append({'text':'third value', 'value':'number 3'})
我还有另一份表格:

results = ['number 1', 'number 4']
如何循环查看
结果列表
检查值是否在
dict
中,例如

for r in results:
    if r in my_dict_list:
        print "ok"

在您的例子中,dict变量不是一个字典,而是一个由3个字典组成的列表,每个字典包含2个键(文本和值)。请注意,我假设值是一个变量,或者您忘记了它周围的引号(我在这里添加了引号)

如果这是您所期望的,那么您可以使用以下内容:

mySetOfValues=set([x['value'] for x in my_dict_list])
for r in results:
  if r in mySetOfValues:
    print 'ok'
但是,如果我理解正确,可能您想创建一个将第一个值与数字1关联的词汇表?

映射(lambda string:any(map(lambda item:item['value']==string,dict)),results)
返回给定
结果的
[True,False]
列表。尽管在这里使用
for
更合适,因为在找到值时可以中断嵌套循环<代码>任何
都将遍历
dict
中的所有项目


另外,不要调用列表
dict
,也不要使用内置类型/函数名作为变量。

请解决您的问题。1) 这不是字典,2)什么是
value
?请不要命名列表
dict
,也不要使用内置变量名。它只是把事情搞得一团糟。这只是一个例子,我放在一起不是原始代码,但我会为您修复它。谢谢。尽管这只是一个示例,但我希望能够将其剪切并粘贴到我的工作环境中,而不必处理出现的问题,因为
dict
现在是一个空列表,而不是python内置的。这会降低我帮助你的能力,这让我不想(我也不想)@JoshAdel:没问题。这只是因为我懒惰,没有考虑我给出的代码作为示例。如果值存在多次,则不需要多次打印“ok”,则要短得多:
if any(d['value']==r代表dicts中的d):…
[{'text': 'second value', 'value': 'number 2'}, {'text': 'third value', 'value': 'number 3'}, {'text': 'first value', 'value': 'number 1'}]
mySetOfValues=set([x['value'] for x in my_dict_list])
for r in results:
  if r in mySetOfValues:
    print 'ok'