Как заменить null на 0 в python?

Пользователь

от ransom_homenick , в категории: Python , 3 года назад

Как заменить null на 0 в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@ransom_homenick  К сожалению в Python нет Null, но есть его аналог - None. Вы можете использовать eval и .replace() для замены None на 0.


1
2
3
print(eval("None + 5".replace("None", "0")))

# Вывод : 5


Пользователь

от josie , 2 года назад

@ransom_homenick 

Вы можете заменить значения None на 0 в Python, используя следующий код:

1
2
3
value = None
if value is None:
    value = 0


Если у вас есть список, который может содержать значения None, вы можете заменить их на 0 следующим образом:

1
2
3
my_list = [None, 1, 2, None, 3, None]
new_list = [0 if item is None else item for item in my_list]
print(new_list) # [0, 1, 2, 0, 3, 0]


Если вы хотите изменить сам список, используйте цикл for:

1
2
3
4
5
my_list = [None, 1, 2, None, 3, None]
for i in range(len(my_list)):
    if my_list[i] is None:
        my_list[i] = 0
print(my_list) # [0, 1, 2, 0, 3, 0]


Если вы хотите заменить значения None на 0 в словаре, вы можете использовать цикл for и метод items():

1
2
3
4
5
my_dict = {'a': None, 'b': 1, 'c': None, 'd': 2}
for key, value in my_dict.items():
    if value is None:
        my_dict[key] = 0
print(my_dict) # {'a': 0, 'b': 1, 'c': 0, 'd': 2}


Или вы можете использовать генератор словарей:

1
2
3
my_dict = {'a': None, 'b': 1, 'c': None, 'd': 2}
new_dict = {key: 0 if value is None else value for key, value in my_dict.items()}
print(new_dict) # {'a': 0, 'b': 1, 'c': 0, 'd': 2}