【问题标题】:How to compare a value with a list of dicts without using for loop in python?python - 如何在不使用for循环的情况下将值与字典列表进行比较?
【发布时间】:2020-10-14 18:13:17
【问题描述】:

输入:

value = "apple"
dict = [{'name':'apple','color':"red"},{'name':'orange','color':"orange"}]

如果不使用下面的 for 循环,是否可以比较并获取值?

我已经完成的代码:

for i in dict:
   if i["name"] == value:
      print i

【问题讨论】:

  • 你的循环是错误的,你有一个字典列表而不是一个字符串列表......你命名为“name”的是一个字典对象而不是一个字符串
  • 您有多个项目,因此无法避免在它们上循环。即使您没有“显式”编写循环,filter(lambda d: d['name'] == 'apple', dict) 之类的内容仍会在列表上进行迭代。
  • 为什么不想使用 for 循环?
  • edited@daveoncode
  • 降低服务器速度和all@wwii

标签: python list python-2.7 dictionary for-loop


【解决方案1】:

您在一个列表中确实有多个字典,而不仅仅是一个。 因此,您必须浏览列表中的所有项目。

for d in dict: # dict is actually a list, but I am using your var name
   if value in d.values():
       print(value)

【讨论】:

  • 我想要它没有循环@Alexander
  • 是您不想“查看”列表中的每个项目的问题,还是您的问题是 for 循环和例如while 循环会起作用吗?
猜你喜欢
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
相关资源
最近更新 更多