Ajuda

0

Set 0 for a 'None' value which is inside a list

Avatar
Dishan Madushanka

I have a list which collect data, and at one point it returns None and i need to replace this None with a 0. How can i get this done in openerp 7

Avatar
Descartar
1 Resposta
0
Avatar
Krutarth Buch
Best Answer

You can iterate the list and check the condition. If you get None value it will insert 0 in new list.

>>> a = [1,2,3,'c',None]

>>> b = []

>>> for x in a:

... if x is None:

... b.append(0)

... else:

... b.append(x)

...

>>> b

[1, 2, 3, 'c', 0]

1 Comentário
Avatar
Descartar
Avatar
Dishan Madushanka
-

Thank You @Krutarath,

Already i have done that this way,

late_duration = [['a', 1], ['b', 4], ['c', None]]

late_duration_val_list = [[None if isinstance(b, int) else 0 if b == None else b for b in i] for i in late_duration]

late_duration.append(late_duration_val_list)

print (late_duration_val_list)

Output is,

[['a', None], ['b', None], ['c', 0]]