Причина, по которой вы получаете ValueError
с remove()
, заключается в том, что он удаляет и элемент за значением, что означает, что вводимое значение отсутствует в списке:
myList = [1 , 2 , 3 , 4 , 5]
myList.remove(2)
print(myList)
Вывод: [1 , 3 , 4 , 5]
myList = [1 , 2 , 3 , 4 , 5]
print(myList)
myList.remove(20)
print(myList)
Вывод:
Traceback (most recent call last):
File "main.py", line 77, in
myList.remove(20)
ValueError: list.remove(x): x not in list
Кроме того, pop()
используется для стеков , при этом pop()
вы удаляете по указанному индексу , если индекс не указан, он удаляет и возвращает последний элемент в списке:
myList = [1 , 2 , 3 , 4 , 5]
print(myList)
myList.pop(2)
print(myList)
Вывод: [1 , 2 , 4 , 5]
Если я понимаю, что вы правы, использование remove()
или pop()
- неправильный способ для этого, вы можете вместо этого использовать словарь , упрощенный пример того, как удалять по значению через VIN #, будет выглядеть примерно так:
def removeVin(vinNumbers, key):
del vinNumbers[key]
vinNumbers = {'VIN01' : 1200 , 'VIN02' : 1500 , 'VIN03' : 1700} # Where Key is 'VIN0X' and Value is Price
removeVin(vinNumbers , 'VIN03')
print(vinNumbers)
Чтобы запросить у пользователя VIN, он может выглядеть примерно так:
def removeVin(vinNumbers, key):
del vinNumbers[key]
vinNumbers = {'VIN01' : 1200 , 'VINO2' : 1500 , 'VIN03' : 1700}
removeVin(vinNumbers , input("Enter VIN:"))
print(vinNumbers)
Аналогично для редактирования:
def editVin(vinNumbers, key):
vinNumbers[key] = 1500
vinNumbers = {'VIN01' : 1200 , 'VINO2' : 1500 , 'VIN03' : 1700}
editVin(vinNumbers , input("Enter VIN:"))
print(vinNumbers)
DrScheme является лучшая Схема IDE, который я нашел. Это имеет JIT-компилятор, может создать автономные исполняемые файлы или выполнение в традиционной схеме REPL , имеет умное редактирование синтаксиса, а также другие традиционные функции IDE как Строки меню для изменения функций. Выполнение/остановка Вашей программы так же легко как нажатие на 'Run'/'Stop'. Это также включает макрорасширитель (если Вы пишете макросы), а также отладчик. Это - Меню справки, включает и DrScheme-определенную документацию, а также различные спецификации Схемы (например, R5RS и R6RS).
, Если существует что-то, которое Вы хотите в Схеме IDE, который уже не находится в DrScheme, я уверен, что разработчики интересовались бы получением известия от Вас.
Я думаю, что Вы уже сделаны. DrScheme является самая популярная Схема IDE.
Схема является небольшим количеством нишевого языка, не удивляйтесь не найти вид супергладкой поддержки IDE, которая ожидается наркоманами Java/VisualBasic WIMP.
Покровительство? Ну, да.
Схема PLT является excellenet продуктом, который определенно стоит смотреть на. Это имеет все функции, которые Вы просите
Я думаю, что Вы хотите, на самом деле Emacs.Посмотрим:
Насколько я знаю (я использовал DrScheme в течение нескольких месяцев прежде, чем переключиться на Emacs), DrScheme имеет много подобных ЯЗЮ функций, но они представлены в упрощенном интерфейсе из-за его образовательного фокуса. Сделайте некоторое рытье, и я думаю, что Вы будете счастливы, что Вы находите.
кроме того, я не могу сопротивляться, так как я делаю использование Emacs---ОС, определенная установка emacs почти никогда не символьно-ориентирована.
Я играл с Xacc. Язь и Железная Схема и найденный они были довольно хороши, хотя они чувствовали себя не законченными в некоторых местах. Они достаточно хороши для испытания схемы, я не уверен, использовал ли я их для записи коммерческого программного обеспечения все же. Я видел, что автор их обоих зависает здесь поэтому, возможно, он может сказать больше..