выбранная пользователем переменная удалена из списка

#python #arrays #python-3.x #python-2.7

#python #массивы #python-3.x #python-2.7

Вопрос:

У меня есть массив, и я хочу удалить или добавить элемент, который нравится пользователю my_list.remove(input("which item do you remove") . Как мне это сделать правильно?

Я бы ожидал, что написанный мной код удалит элемент, выбранный пользователем (если он есть в списке), из списка, как обычная команда удаления, за исключением ввода пользователем

Я упускаю что-то очевидное? Я начал python несколько дней назад, и я не очень хорош в этом. Спасибо.

Ответ №1:

Вот сценарий python (2 или 3) для достижения этой цели:

 from __future__ import print_function
from builtins import input
mylist = ['apple', 'banana', 'pineapple']
mylist.pop(mylist.index(input('Which element do you want to remove from the list?')))
print(mylist)
  

Использование:

 $python foo.py
Which element do you want to remove from the list?apple
['banana', 'pineapple']
$ python3 foo.py
Which element do you want to remove from the list?pineapple
['apple', 'banana']
  

Если вы попытаетесь удалить что-то, чего нет в списке, ошибка на самом деле довольно заметна:

 Which element do you want to remove from the list?peach
Traceback (most recent call last):
  File "foo.py", line 4, in <module>
    mylist.pop(mylist.index(input('Which element do you want to remove from the list?')))
ValueError: 'peach' is not in list
  

Комментарии:

1. Лучше использовать remove , чем pop / index

Ответ №2:

Для экземпляра у вас есть list [‘a’, ‘e’, ‘i’, ‘o’, ‘u’], и вы хотите удалить любое значение из этого списка

 li = ['a', 'e', 'i', 'o', 'u']
remove_value = input("Which item do you want to remove: ")
li.remove(remove_value)
print(li)
  

И вывод будет:

 >>> Which item do you want to remove: i # this is the value you want to remove
>>> ['a', 'e', 'o', 'u']
  

Для получения более подробной информации: Подробнее о списках

Ответ №3:

Я пишу простую демонстрацию python ниже. вы можете удалить или добавить элемент по своему усмотрению.

 # -*- coding: UTF-8 -*-

hobbies_list = ['cooking', 'basketball', 'walking', 'reading']


def remove_hobby():
    target = input("Which item do you want to remove: ").lower()

    if target in hobbies_list:
        hobbies_list.remove(target)
    else:
        print("This item {} does not exist".format(target))


def add_hobby():
    target = input("Which item do you want to add: ").lower()
    if target in hobbies_list:
        print("This item {} does not exist".format(target))
    else:
        hobbies_list.append(target)
        print("This item {} add success ".format(target))


if __name__ == '__main__':
    print("current hobbies:{}".format(','.join(hobbies_list)))
    remove_hobby()
    print("current hobbies:{}".format(','.join(hobbies_list)))
    add_hobby()
    print("current hobbies:{}".format(','.join(hobbies_list)))