如何在 python 列表中附加字段值并忽略 None 值
how to append fields values in python list and ignore None value
我需要计算一些字段值的平均值并忽略计算中的 none 值,这就是我能做的
@api.multi
def update_bar(self):
list=[self.item.pro, self.drc.pro, self.dsc.pro, self.org.pro,
self.car.pro, self.model.pro, self.year.pro]
for rec in list:
if rec:
self.new_list = list.append(rec)
print(self.new_list)
pass
我会使用列表理解来做到这一点
def average_or_none(ls):
temp = [x for x in ls if x is not None]
if temp:
return sum(temp) / len(temp)
else:
return None
您可以从列表中过滤 None
值并进一步进行常规 summation/average 计算。让我们像下面这样过滤掉 None
-
list=[self.item.pro, self.drc.pro, self.dsc.pro, self.org.pro,
self.car.pro, self.model.pro, self.year.pro]
list_without_none = [x for x in list if x is not None]
要计算平均值,假设您有如下值。
# Python program to get average of a list
def Average(lst):
return sum(lst) / len(lst)
# Driver Code
list_without_none = [15, 9, 55, 41, 35, 20, 62, 49]
average = Average(list_without_none)
print(average)
查看更多 DEMO's
您可以随时使用过滤功能。下面的例子。结果,您将获得第一个列表,但过滤掉了 Nones。
new_list = filter(lambda x: x is not None, list)
mean = sum(new_list)/len(new_list)
我需要计算一些字段值的平均值并忽略计算中的 none 值,这就是我能做的
@api.multi
def update_bar(self):
list=[self.item.pro, self.drc.pro, self.dsc.pro, self.org.pro,
self.car.pro, self.model.pro, self.year.pro]
for rec in list:
if rec:
self.new_list = list.append(rec)
print(self.new_list)
pass
我会使用列表理解来做到这一点
def average_or_none(ls):
temp = [x for x in ls if x is not None]
if temp:
return sum(temp) / len(temp)
else:
return None
您可以从列表中过滤 None
值并进一步进行常规 summation/average 计算。让我们像下面这样过滤掉 None
-
list=[self.item.pro, self.drc.pro, self.dsc.pro, self.org.pro,
self.car.pro, self.model.pro, self.year.pro]
list_without_none = [x for x in list if x is not None]
要计算平均值,假设您有如下值。
# Python program to get average of a list
def Average(lst):
return sum(lst) / len(lst)
# Driver Code
list_without_none = [15, 9, 55, 41, 35, 20, 62, 49]
average = Average(list_without_none)
print(average)
查看更多 DEMO's
您可以随时使用过滤功能。下面的例子。结果,您将获得第一个列表,但过滤掉了 Nones。
new_list = filter(lambda x: x is not None, list)
mean = sum(new_list)/len(new_list)