我找不到与用例匹配的示例。仍然在python列表和字典中按照我的方式工作。
问题:
all_cars = ['cars':[{'name': 'audi', 'model': 'S7'}{'name': 'honda', 'model': 'accord'},{'name': 'jeep', 'model': 'wrangler'} ]}
owners = ['cars':[{'owner': 'Nick', 'car': 'audi'}{'owner': 'Jim', 'car': 'honda'},{'owner': 'Mike', 'name': 'mercedes'} ]}
def duplicate():
for c in all_cars:
if c['name'] == [c['name'] for c in owner['cars']]:
pass_cars = c['name']
pass
else:
res = print(c['name'])
return res
output - ['honda', 'jeep'] ( with 'audi')
output = ['honda', 'jeep', audi'] ( with list comprehension of owners)
如何在不返回所有值的情况下循环遍历所有者的清单(目标)?使用'audi'
的单个项目将返回所需的值。
接受所有建议!
要回答标题中的问题,您可以在列表理解期间使用语法[x for y in z if y == a]
有条件地添加元素,其中y == a
是您需要的任何检查-如果比较为True
,则元素y
将被添加到列表,否则将不会。