Рубрики
Без рубрики

Как создать список Python размер N?

Создание списка N элементов заполнителей, умножьте список одного элемента заполнителей с N. Например, используйте [NOTE] * 5, чтобы создать список [Нет, нет, нет, нет, нет] с пятью элементами. Затем вы можете перезаписать некоторые элементы с индексами назначения. В примере приведет к … Как создать список Python размер N? Читать далее “

Автор оригинала: Chris.

Создать список 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.