python - 有效地将字典值与列表项进行比较
问题描述
我有一本字典,我需要在迭代后将其值与列表进行比较。
这是我的代码:
mdic = json.loads(data)
mylist = ['blue', 'green', 'red', 'black']
if not mdic['color_detail']:
raise ValueError('No color_detail available')
color_registered = False
for e in mylist:
if dic['color_detail'] == e:
color_registered = True
if not color_registered:
raise ValueError('Color not registered')
有没有更好的方法来编写我的代码?(我的意思是一种跳过 False/True 标志的方法)
解决方案
您可以使用内置any
函数:
color_registered = any(e == dic['color_detail'] for e in mylist)
推荐阅读
- bash - Bash 在另一个变量中扩展变量
- c# - 用键盘改变 C# 中的位移?
- c - 在c中的缓冲区块中读取未知长度的文件
- swift - 无法转换类型“() -> 数据?”的值 到预期的参数类型“数据”
- c++ - 'i' 未在此范围内声明 (i = 0; i <= years; i++)
- javascript - 在循环中处理 axios 取消
- javascript - TypeError:无法读取未定义的属性“地图”
- c++ - 为什么 unordered_set 不允许向量作为键?
- python - 如何在tensorflow中实现条件分支?
- .htaccess - 使用 .htaccess 重写带有查询字符串的 HTML 页面的 URL