Последние новости:

Поиск по сайту:

Никто не обнимет необъятного (К. Прутков).

Как создать 2D массив с помощью списка в Python

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29.10.2019

Если по какой-то причине вы хотите создать двумерный массив в Python и не хотите использовать внешние пакеты, такие как numpy и т. д., Наиболее очевидная вещь — написать такой код:

>>> n = 3
>>> m = 4
>>> ara = [[0] * m] * n
>>> ara
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

 

Но есть проблема. Проверьте код ниже

>>> ara[0][0] = 1
>>> ara
[[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]

На самом деле, когда вы делаете [0] * m, он возвращает ссылку на список, а когда вы умножаете его на n, эта же ссылка дублируется. Следовательно, вы видите изменение таким образом, которого вы не ожидали.

Правильный способ сделать это — добавить [0] * m, n раз в массив. Вы можете закодировать это несколькими способами. Наш предпочтительный способ:

>>> ara = [[0] * m for _ in range(n)]

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Статьи партнеров:

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close