Создать список из символа и удалить элемент в Python?

#python #list

#python #Список

Вопрос:

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

 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
 

Ответ №1:

используйте это:

 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 метод удаляет выбранный элемент из исходного списка и не возвращает новый.

Ответ №2:

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