我有两个列表:total_price
和units_b
,它们都包含空值,我有一个表达式将total_price除以units_b:
total_price = [None, None, 10, 20]
units_b = [None, None, 1, 2]
average_price = [(x/y) for x, y in zip(total_price, units_b)]
尝试运行average_price
会给我一个错误,说我不能分为两个'NoneTypes'。有什么方法可以排除除法的空值但是坚持原始列表的完整性?
答案 0 :(得分:2)
average_price = [(x/y) for x, y in zip(total_price, units_b) if x is not None and y is not None]
答案 1 :(得分:2)
total_price = [None, None, 10, 20]
units_b = [None, None, 1, 2]
average_price = [(x/y) for x, y in zip(total_price, units_b) if x is not None and y is not None]
答案 2 :(得分:0)
average_price = [(x/y) for x, y in zip(total_price, units_b) if not (x==None or y==None)]
虽然你应该read the docs