Вставка Python не получает желаемых результатов?

#!/usr/bin/python numbers = [1, 2, 3, 5, 6, 7] clean = numbers.insert(3, 'four') print clean # desire results [1, 2, 3, 'four', 5, 6, 7] 

Я получаю «Нет». Что я делаю не так?

  • Сохраняет ли функция «открыть» Python ее содержимое в памяти или в временном файле?
  • Скрытые особенности PyCharm
  • Как удалить пакет, установленный с помощью pip install --user
  • Python - переключение двоичных 1 и 0 в строку
  • zip () альтернатива для итерации через два итератора
  • Проблемы с Python в Google App Engine - UTF-8 и ASCII
  • Строка содержит любой символ в группе?
  • Перейти к определенной строке в Python?
  • ndb.StructuredProperty не вызывает методы подкласса ndb.PolyModel
  • Почему объекты slice не хешируются в python
  • DeadlineExceededErrors с обновляемым токеном доступа GAE / Google API
  • Преобразование точки в png в python
  • 4 Solutions collect form web for “Вставка Python не получает желаемых результатов?”

    Мутирующие методы в списках, как правило, возвращают None , а не измененный список, как вы ожидаете – такие методы выполняют свой эффект, изменяя список на месте, а не создавая и возвращая новый. Таким образом, print numbers вместо print clean покажут вам измененный список.

    Если вам нужно сохранить numbers неповрежденными, сначала сделайте копию, затем вы измените копию:

     clean = list(numbers) clean.insert(3, 'four') 

    это имеет общий эффект, который вам кажется желательным: numbers неизменны, clean – это измененный список.

    Метод вставки изменяет список на месте и не возвращает новую ссылку. Пытаться:

     >>> numbers = [1, 2, 3, 5, 6, 7] >>> numbers.insert(3, 'four') >>> print numbers [1, 2, 3, 'four', 5, 6, 7] 

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

    Оператор list.insert () ничего не возвращает, возможно, вы хотите:

     print numbers 
    Python - лучший язык программирования в мире.