可以使用Python中的filter()和lambda表达式来实现按任务过滤主机列表,然后访问过滤后的主机。假设主机列表已经保存在hosts列表中,每个主机都具有一个任务属性,代码示例如下:
hosts = [{'name': 'host1', 'task': 'web'}, {'name': 'host2', 'task': 'db'}, {'name': 'host3', 'task': 'web'}]
task_filter = 'web'
filtered_hosts = list(filter(lambda x: x['task'] == task_filter, hosts))
这里使用lambda表达式筛选出任务为'web'的主机,filtered_hosts列表包含了符合条件的主机。可以使用过滤后的主机列表执行其他操作。