Заполните список номеров нулями Python
Я хочу заполнить этот список нулями, чтобы числа оставались в порядке, но список имеет длину 15, такую как:
Как бы я это сделал?
6 ответов
Вы можете использовать понимание списка в сочетании со встроенным if/else:
Вы можете использовать понимание списка с xrange проверить на включение в исходный список. Если числа всегда будут между 1-15, это будет выглядеть так:
В зависимости от того, насколько большими могут быть эти списки, вы можете использовать numpy, который будет намного быстрее, если они могут стать действительно большими, и он позволяет индексировать массив другим массивом:
Чтобы создать выход, который у вас есть, простой for Цикл также может быть использован следующим образом:
Это будет отображать следующий вывод:
Если вы хотите связать определенное значение с каждым индексом, то вы можете сделать это, используя список пар кортежей следующим образом:
Как объявить массив нулей в Python (или массив определенного размера)
Я пытаюсь построить гистограмму счетчиков. поэтому я создаю ведра. Я знаю, что могу просто пройти и добавить кучу нулей, и что-то в этом роде:
Есть ли более элегантный способ сделать это? Я чувствую, что должен быть способ просто объявить массив определенного размера.
Я знаю, что numpy имеет numpy.zeros , но мне нужно более общее решение
10 ответов
Просто для полноты. Чтобы объявить многомерный список нулей в python, вы должны использовать понимание списка следующим образом:
чтобы избежать обмена ссылками между строками.
Это выглядит более неуклюже, чем код chester1000, но существенно, если значения, как предполагается, будут изменены позже. Подробнее см. Python FAQ.
Оба из них выведут правильный пустой многомерный список ведра 100×100
Вы можете умножить list на целое число n , чтобы повторить list n раз:
И затем воспользуйтесь функцией Histogram
Простейшим решением было бы
В общем, вы должны использовать больше pythonic-кода, например, для понимания списка (в вашем примере: [0 for unused in xrange(100)] ) или с помощью string.join для буферов.
В вопросе говорится: » Как объявить массив нулей. «, но затем пример кода ссылается на список Python:
Однако, если кто-то действительно хочет инициализировать массив, я предлагаю:
Пурист Python может утверждать, что это не пифонический и предлагать:
Питоническая версия очень медленная, и когда у вас есть несколько сотен массивов, которые будут инициализированы тысячами значений, разница заметно.
Создание массива Numpy с нулями в Python
Чтобы создать массив numpy с нулями в Python, учитывая форму массива, используйте функцию numpy.zeros().
Синтаксис для создания массива:
- shape может быть целым числом для одномерного массива и кортежем целых чисел для массива ND.
- dtype – это тип данных элементов, хранящихся в массиве. По умолчанию считается, что элементы относятся к типу float. Вы можете указать тип данных.
- C и F – допустимые значения для порядка. Это влияет только на то, как данные хранятся в памяти. C: C-стиль хранения многомерных данных в основной памяти строк. F: стиль Fortran для хранения многомерных данных в основном столбце в памяти.
В основном мы используем только параметр формы.
Пример 1: одномерный массив
Чтобы создать одномерный массив нулей, передайте количество элементов в качестве значения в параметр формы.
В этом примере мы создадим массив numpy с 8 нулями.
Массив Numpy (одномерный) размера 8 создается с нулями. Тип данных по умолчанию – float.
Пример 2: двумерный массив
Чтобы создать двумерный массив нулей, передайте форму, то есть количество строк и столбцов, в качестве значения параметра формы.
В этом примере мы создадим массив numpy с 3 строками и 4 столбцами.
Обратите внимание, что мы предоставили фигуру, как набор целых чисел.
Массив Numpy (2-мерный) формы (3,4) создается с нулями. Тип данных по умолчанию – float.
Пример 3: трехмерный массив
Чтобы создать трехмерный массив нулей, передайте фигуру как кортеж в параметр формы.
В этом примере мы создадим массив numpy с формой (3,2,4).
Обратите внимание, что мы предоставили фигуру как набор целых чисел.
Массив Numpy (3-мерный) формы (3,2,4) создается с нулями. Тип данных по умолчанию – float.
Пример 4: с определенным типом данных
Чтобы создать массив нулей с определенным типом данных, передайте требуемый тип данных в качестве параметра dtype.
В этом примере мы создадим массив numpy с нулями целых чисел типа данных.
В этой статье на примерах Python мы создали numpy массив определенной формы и типа данных, и инициализировали массив нулями.
Как создать список Python?
https://youtu.be/qxxofgxx0BQ Список определений: список Python – это упорядоченная последовательность произвольных объектов Python. Это сметный объект, поэтому, в отличие от наборов Python, вы можете изменить список Python. В этой статье вы узнаете все, что вам нужно знать о том, как создавать списки Python. Обзор – Создание списка в Python там … Как создать список Python? Подробнее “
- Автор записи
Автор оригинала: Chris.
Определение списков : A Список Python является упорядоченной последовательностью произвольных объектов Python. Это сметный объект сам по себе так, в отличие от Наборы Python , вы можете изменить список Python.
В этой статье вы узнаете все, что вам нужно знать Как создать списки Python .
Обзор – Создание списка в Python
Есть много способов создания списка в Python. Давайте получим быстрый обзор в следующей таблице:
[] | Квадратный кронштейн: инициализирует пустой список с нулевыми элементами. Вы можете добавить элементы позже. |
[x1, x2, x3, …] | Дисплей списка: Инициализирует пустой список с элементами x1, x2, x3, … Например, [1, 2, 3] создает список с тремя целыми числами 1, 2 и 3. |
[expr1, expr2, …] | Список отображения с выражениями: инициализирует список с результатом выражений expr1, expr2, … Например, [1 + 1, 2-1] создает список [2, 1]. |
[ expr для var в Итере] | Понимание списка: применяет экспресс эксплуатации к каждому элементу в утечку. |
Список (потенциал) | Список конструкторов, который принимает утечку в качестве ввода и возвращает новый список. |
[x1, x2, …] * n | Умножение списка Создает список N Concatenations объекта списка. Например [1, 2] * 2 == [1, 2, 1, 2]. |
Вы можете играть с некоторыми примерами в нашей интерактивной оболочке Python:
Упражнение : Использовать Список понимания Создать список квадратных чисел.
Давайте погрузимся в некоторые более специфические способы создания различных форм списков в Python.
Ниже я дам вам PDF Cheat из самых важных методов списка Python. Так что держите чтение!
Python Создать список размеров
Проблема : Учитывая целое число N Отказ Как инициализировать список с N Элементы заполнителя?
Решение : Используйте Список конкатенации Операция * .
Вы можете изменить элемент N как ты любишь. Подробнее обсуждение этой темы, пожалуйста, посетите моего руководства в блоге на Как создать список с определенным размером n? Учебник также содержит много визуализации, чтобы научить вас и выходы этого метода (и дает вам некоторые мощные альтернативы).
Python Создать список строк
Вы можете использовать предыдущий метод для создания списка строк N:
Но вы хотите создать список номеров?
Python Создать список номеров
Просто замените строки по умолчанию с номерами по умолчанию:
Специальный случай – это номер:
Python Создать список нулей
Это создает список zeros:
Но что, если вы хотите создать список последовательных чисел 0, 1, 2, …?
Python Создать список из диапазона
Чтобы создать список последовательных чисел из х к y Используйте Диапазон (X, Y) Встроенная функция Python. Это возвращает только Диапазон Объект, который является итератен. Но вы можете преобразовать указанный в список, используя Список (. ) конструктор:
Вы можете увидеть, что вторым аргументом (AFT COPTION INDECH) не включен в последовательность диапазона. Третий аргумент Диапазон (запуск, остановка, шаг) Функция – это дополнительный размер шага, который позволяет пропустить шаг Номера серии непрерывных чисел.
Python Создать список от 0 до 100
Специальная ситуация возникает, если вы хотите создать список от 0 до 100 (включая). В этом случае вы просто используете Список (диапазон (0, 101)) Функциональный вызов. Как Стоп Аргумент, вы используете номер 101, потому что он исключается из окончательной серии.
На самом деле не нужно давать индекс запуска по умолчанию 0, так что вы можете просто пропустить его.
Python Создать список для петли
Чтобы создать список с помощью LOOP, вы сначала инициализируете пустой список, а затем впоследствии добавляете элемент в список:
Вы можете узнать больше о однострочном цикле в этой статье.
Python Создать список списков
Тем не менее, есть небольшая проблема, если вы хотите создать список с помощью мусорных объектов (например, список списков):
Изменение одного элемента списка Изменяет все элементы списка, потому что все элементы списка относятся к одному и тому же объекту списка в памяти:
Решение состоит в том, чтобы использовать список списков (см. Мой подробный учебник по блогу по пониманию списка для полного руководства):
В следующей визуализации вы можете увидеть, как каждый элемент теперь относится к независимую объекту списка в памяти:
Упражнение : Запустите визуализацию и убедите себя, что только один элемент изменен! Почему это так?
Python Создать список кортежей
Аналогичный подход может быть использован для создания списка кортежей вместо списка списков.
Вы сначала инициализируете список пустыми кортежами. Кортежи неизменны, поэтому вы не можете их изменить. Но вы можете перезаписать каждый элемент списка с новым корпусом, как вы сделали в примере с третьим элементом и кортежом (1, 2, 3) .
Python создать одинаково интерстерн
Чтобы создать одинаково расположенный список, используйте функцию NP.LINSPACE () NUMPY BITALY. Вот короткий учебник по этому вопросу:
Давайте сначала получим быстрый обзор.
Давайте посмотрим на три наиболее распространенные аргументы более подробно сначала: Начать , Стоп и опускать . Вот что Официальные Numpy Docs должен сказать:
Возвращение равномерно расположено на указанном интервале. Возвращает Num равномерно распределенные образцы. Конечная точка интервала может быть необязательно исключена.
Примечание Как называет имя, np.linspace Возвращает номера, которые являются линейно разнесенные отдельно. Таким образом, они все находятся на расстоянии друг от друга (подумайте о пунктах на линии).
Из определения следует, что np.linspace (-3, 3) даст нам 50 номеров равномерно разнесенным в интервале [-3, 3] . Давайте проверим это с некоторым кодом.
Попробуй сам : Вы можете запустить код в оболочке, нажав «Run»!
Упражнение : Можете ли вы уменьшить количество образцов до 10?
Если мы хотим только 10 образцов от -3 до 3, мы устанавливаем Num = 10 Отказ
Но что, если вы хотите инициализировать свой список со случайными элементами?
Python Создать список случайных элементов
Вы хотите инициализировать список с какими-то случайными числами? Далее я покажу вам четырех разных способа достижения этого – наряду с коротким обсуждением о «Самый питонический путь» Отказ
Проблема : Учитывая целое число N Отказ Создать список N Элементы в определенном интервале (пример интервала: [0, 20] ).
Решение : Вот быстрое обзор о том, как вы можете создать список случайных чисел:
- Метод 1 : [Random.random () для _ в диапазоне (10)] Создать список случайных поплавок.
- Метод 2 : [Random.randint (0, 999) для _ в диапазоне (10)] Создать список случайных INT.
- Метод 3 : Randlist = []; Для _ в диапазоне (10): Randlist.append (Random.randint (0, 99)) Создать список случайных INT.
- Метод 4 : Randlist.sample (диапазон (20), 10) Создать список случайных INT.
Вы можете попробовать те сами в нашем интерактивном коде Shell:
Упражнение : Измените интервал каждого метода в [0, <ваш возраст>] и запустите код.
Python Создать список списков от zip
Краткий ответ : По умолчанию, zip () Функция Возвращает zip-объект кортежей. Получить Список списков В качестве вывода используйте оператор понимания списка [Список (X) для X в ZIP (L1, L2)] Это преобразует каждый кортеж в список и сохраняет преобразованные списки в новом объекте вложенного списка.
Промежуточные кодеры Python знают zip () функция. Но если вы похожи на меня, вы часто проклинали вывод функции ZIP: прежде всего, это zip-объект (а не список), а вторым, отдельные элементы на молнии. Но что, если вам нужен список списков как вывод?
Проблема : Учитывая ряд списков L1, L2, . Отказ Как zip. i-й элементы этих списков вместе и получить список списков ?
Пример : Учитывая два списка [1, 2, 3, 4] и [«Алиса», «Боб», «Энн», «Лиз»] И вы хотите список списков [[1, «Алиса»], [2, «Боб»], [3, «Энн»], [4, «Лиз»]] Отказ
Вот быстрый обзор наших решений:
Упражнение : Создайте новый список L3. и изменить четыре метода на молния вместе все три списки (вместо всего два).
Python Создать список A- z
Создать список со всеми символами «А» , ‘b’ , …, ‘Z’ , вы можете использовать Список () Конструктор на string.ascii_lowercase Переменная:
Список () Конструктор создает новый список и поместите все элементы в Iterable в новый список. Строка является утечкой с элементами символов. Таким образом, результат представляет собой список строчных букв.
Python Создать список словарей
Скажи, у вас есть Словарь <0: «Алиса», 1: «Боб»>И вы хотите создать Список словарей с копиями оригинального словаря: [<0: 'ALICE', 1: 'BOB'>, <0: 'ALICE', 1: 'BOB'>, <0: 'ALICE', 1: 'BOB'>] Отказ
Вы используете понимание списка с вариабельной подчеркиванием цикла «Выброс» _ Создать список из 3 элементов. Вы можете изменить значение 3, если вам нужно больше или меньше элементов в вашем списке.
Выражение <** D>распаковывать Все (ключ, значение) пары из оригинального словаря D в новый словарь.
Полученный список содержит копии исходного словаря. Если вы измените один, другие не увидят это изменение:
Только первый словарь в списке содержит новое значение ключа. (2: «Фрэнк») Что доказывает, что словари не указывают на тот же объект в памяти. Это было бы так, если бы вы использовали следующий метод Копирование списка с одним словарем:
Метод выглядит правильно, но все три словари по существу одинаковы:
Если вы измените один, вы меняете все.
Вы можете увидеть этот эффект самостоятельно в следующем инструменте визуализатора памяти:
Упражнение : Измените метод правильно, чтобы изменить влияет только на первый словарь!
Python Создать список из DataFrame
Чтобы создать список из Pandas DataFrame Используйте метод df.values.tolist () В вашем объекте DataFrame дф. :
Вы можете увидеть, что вывод представляет собой список списков в этом примере. Если вам нужно улучшить свои навыки Pandas, посмотрите самые красивые чис-листы Python Pandas.
Python Создать список из Numpy Array
Конвертировать Numpy массив А В список, используйте A.Tolist () Метод на объекте массива. Если массив Numpy многомерный, A Вложенный список создано:
Полученный список – это вложенный список списков.
Python Создать список копии
Удивительно, что даже продвинутые кодеры Python не знают деталей Копировать () Метод списков Python. Время изменить это!
Определение и использование : list.copy () Метод копирует все Список элементы в новый список. Новый список – это возвращаемое значение метода. Это неглубокая копия – вы копируете только ссылки на объект на элементы списка, а не сами объекты.
Вот краткий пример:
В первой строке вы создаете список lst состоящий из трех целых чисел. Затем вы создаете новый список, скопировав все элементы.
Головоломка – попробуйте сами:
Синтаксис : Вы можете вызвать этот метод на каждом объекте списка в Python. Вот синтаксис:
Аргументы: Метод не имеет никакого аргумента.
Возвращаемое значение: Метод list.clear () Возвращает Список Объект, копируя ссылки на все объекты в исходном списке.
- Окончательное руководство по спискам Python
Вот ваш бесплатный PDF чит-лист, показывающий вас все методы списка Python на одной простой странице. Нажмите на изображение, чтобы загрузить файл PDF с высоким разрешением, распечатать его и опубликовать его в свою офисную стену:
Вы можете узнать больше о методе list.copy () в нашем всеобъемлющем руководстве по этому блогу.
Python Создать список из карты
Проблема : Учитывая карта объекта Отказ Как создать список?
Ответ прямо-вперед – используйте Список () конструктор! Вот пример:
Полученный список представляет собой список строк, и он содержит все элементы на карте. m .
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.