如何解决“黑名单”还是从Python函数的返回值中删除某些内容?
我正在编写一个Python脚本,该脚本使用Course API收集课程信息。它具有两个功能:get_schools
和get_classes
。 get_schools
函数从API提取JSON文件并创建不同部门的列表:
def get_schools(term_id):
data = request('schools',term_id)
return list(map(lambda school: {
'id': school['id'],'name': school['name']
},data))
所以返回的列表是:
[{"id":"A","name":"Department A"},{"id": "B","name": "Department B"}.......]
然后,get_classes
函数使用上面的部门来检索特定的类并将其写入JSON文件。问题在于某些部门不需要我多余的类,从而大大延长了脚本运行的时间。
是否可以在get_schools
函数中将某些部门“列入黑名单”以阻止这种情况的发生?因此,它会跳过或删除“部门C”或“部门F”,但将其他所有内容保留在其中。有什么办法可以做到?
解决方法
您可以添加部门黑名单(使用set
以获得最佳性能),然后根据黑名单添加link data
:
def get_schools(term_id):
blacklist = set(['Department C','Department F'])
data = request('schools',term_id)
return list(map(lambda school: {
'id': school['id'],'name': school['name']
},filter(lambda school: school['name'] not in blacklist,data)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。