Я написал следующую функцию, которая получает символ, создает из него список по указанной длине символа и, наконец, удаляет элемент из вновь созданного списка.

def create_list_from_char(char, remove_elem):
            n = int(len(remove_elem))
            my_list = [char[i:i+n] for i in range(0, len(char), n)]           
            print("Created list is: ", my_list)
            print(remove_elem in my_list)
            new_list = my_list.remove(remove_elem)
            print("new list is: ", new_list)
            return new_list

Однако, когда я пытаюсь это сделать, кажется, что он не удаляет указанный элемент из списка и возвращает None. Вот пример:

>>> create_list_from_char('ABCDEFGHIJKL', 'IJKL')
Created list is:  ['ABCD', 'EFGH', 'IJKL']
True
new list is:  None
0
Alex Man 25 Янв 2021 в 22:59

2 ответа

Лучший ответ

Использовать это:

def create_list_from_char(char, remove_elem):
            n = int(len(remove_elem))
            my_list = [char[i:i+n] for i in range(0, len(char), n)]           
            print("Created list is: ", my_list)
            print(remove_elem in my_list)
            my_list.remove(remove_elem)
            print("new list is: ", my_list)
            return my_list

Выход:

>>> create_list_from_char('ABCDEFGHIJKL', 'IJKL')
Created list is:  ['ABCD', 'EFGH', 'IJKL']
True
new list is:  ['ABCD', 'EFGH']
['ABCD', 'EFGH']

Больше информации

Метод remove удаляет выбранный элемент из исходного списка и не возвращает новый.

1
Mahrad Hanaforoosh 25 Янв 2021 в 20:08

list.remove - это метод, который выполняет удаление на месте и не возвращает новый список

0
dukkee 25 Янв 2021 в 20:03
65891595