Создать список N Элементы заполнителя, умножьте список одного элемента заполнителя с N Отказ Например, используйте [Нет] * 5 Чтобы создать список [Нет, нет, нет, нет, нет] С пятью элементами Нет Отказ Затем вы можете перезаписать некоторые элементы с индексами назначения. В примере lst [2] приведет к измененному списку [Нет, нет, 42, нет, нет] Отказ
Давайте поиграем с интерактивным кодом, прежде чем погрузиться в подробное решение!
Упражнение : Инициализировать список с n = 20. Элементы заполнителя -1 и запустить код.
Далее вы узнаете о более формальной проблеме и погрузитесь в пошаговое решение.
Проблема : Учитывая целое число N Отказ Как инициализировать список с N Элементы заполнителя?
# n=0 --> [] # n=1 --> [None] # n=5 --> [None, None, None, None, None]
Решение : Используйте операцию конкатенации списка * Отказ
n = 5 lst = [None] * n print(lst) # [None, None, None, None, None]
Вы можете изменить элемент N как ты любишь. В последующих операциях вы можете перезаписать весь заполнитель Нет Список элементов с использованием простых операций назначения индекса:
lst[0] = 'Alice' lst[1] = 0 lst[2] = 42 lst[3] = 12 lst[4] = 'hello' print(lst) # ['Alice', 0, 42, 12, 'hello']
Тем не менее, есть небольшая проблема, если вы хотите создать список с помощью мусорных объектов (например, список списков):
lst = [[]] * n print(lst) # [[], [], [], [], []] lst[2].append(42) print(lst) # [[42], [42], [42], [42], [42]]
Изменение одного элемента списка Изменяет все элементы списка, потому что все элементы списка относятся к одному и тому же объекту списка в памяти:
Решением является использование списка.
lst = [[] for _ in range(n)] print(lst) # [[], [], [], [], []] lst[2].append(42) print(lst) # [[], [], [42], [], []]
В следующей визуализации вы можете увидеть, как каждый элемент теперь относится к независимую объекту списка в памяти:
Упражнение : Запустите визуализацию и убедите себя, что только один элемент изменен! Почему это так?
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.