Список Python: как заменить число в списке – несколько методов

Чтобы заменить число в списке в Python, вы можете использовать несколько разных методов. Вот несколько подходов:

Метод 1: использование цикла
Вы можете перебирать список с помощью цикла и заменять нужное число новым значением.

def replace_number_in_list(lst, old_num, new_num):
    for i in range(len(lst)):
        if lst[i] == old_num:
            lst[i] = new_num
    return lst
# Example usage
my_list = [1, 2, 3, 4, 5]
new_list = replace_number_in_list(my_list, 3, 6)
print(new_list)  # Output: [1, 2, 6, 4, 5]

Метод 2. Использование генератора списков
Компонент списков обеспечивает краткий способ замены чисел в списке.

def replace_number_in_list(lst, old_num, new_num):
    return [new_num if x == old_num else x for x in lst]
# Example usage
my_list = [1, 2, 3, 4, 5]
new_list = replace_number_in_list(my_list, 3, 6)
print(new_list)  # Output: [1, 2, 6, 4, 5]

Метод 3: использование функции map()
Вы можете использовать функцию map()вместе с лямбда-функцией для замены чисел в списке.

def replace_number_in_list(lst, old_num, new_num):
    return list(map(lambda x: new_num if x == old_num else x, lst))
# Example usage
my_list = [1, 2, 3, 4, 5]
new_list = replace_number_in_list(my_list, 3, 6)
print(new_list)  # Output: [1, 2, 6, 4, 5]

Метод 4. Использование методов index()и insert().
Если вы хотите заменить только первое вхождение числа, вы можете использовать метод Методы index()и insert().

def replace_number_in_list(lst, old_num, new_num):
    index = lst.index(old_num)
    lst.insert(index, new_num)
    lst.remove(old_num)
    return lst
# Example usage
my_list = [1, 2, 3, 4, 5]
new_list = replace_number_in_list(my_list, 3, 6)
print(new_list)  # Output: [1, 2, 6, 4, 5]

Обратите внимание, что описанные выше методы предполагают, что вы хотите заменить все вхождения числа в списке. Если вы хотите заменить только первое вхождение, вы можете соответствующим образом изменить методы.