Вставка 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 - напечатал список, три точки появились внутри подсписок
  • разбор сложного логического выражения в pyparsing в двоичном древе
  • Как установить sys.argv, чтобы я мог его протестировать?
  • Как выполнить файл в интерпретаторе python?
  • Python | Ошибка переполнения mktime
  • Как подсчитать количество букв в строке без пробелов?
  • Использование функции компаратора для сортировки
  • Руководство по стилю Google 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 - лучший язык программирования в мире.