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

Как создать список 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=0 --> []
# n=1 --> [None]
# n=5 --> [None, None, None, None, None]

Решение : Используйте Список конкатенации Операция * .

n = 5
lst = [None] * n
print(lst)
# [None, None, None, None, None]

Вы можете изменить элемент N как ты любишь. Подробнее обсуждение этой темы, пожалуйста, посетите моего руководства в блоге на Как создать список с определенным размером n? Учебник также содержит много визуализации, чтобы научить вас и выходы этого метода (и дает вам некоторые мощные альтернативы).

Python Создать список строк

Вы можете использовать предыдущий метод для создания списка строк N:

n = 3
lst = ['xyz'] * n
print(lst)
# ['xyz', 'xyz', 'xyz']

Но вы хотите создать список номеров?

Python Создать список номеров

Просто замените строки по умолчанию с номерами по умолчанию:

n = 3
lst = [1] * n
print(lst)
# [1, 1, 1]

Специальный случай – это номер:

Python Создать список нулей

Это создает список zeros:

n = 3
lst = [0] * n
print(lst)
# [0, 0, 0]

Но что, если вы хотите создать список последовательных чисел 0, 1, 2, …?

Python Создать список из диапазона

Чтобы создать список последовательных чисел из х к y Используйте Диапазон (X, Y) Встроенная функция Python. Это возвращает только Диапазон Объект, который является итератен. Но вы можете преобразовать указанный в список, используя Список (...) конструктор:

print(list(range(2, 4)))
# [2, 3]

print(list(range(2, 6)))
# [2, 3, 4, 5]

print(list(range(2, 10, 2)))
# [2, 4, 6, 8]

Вы можете увидеть, что вторым аргументом (AFT COPTION INDECH) не включен в последовательность диапазона. Третий аргумент Диапазон (запуск, остановка, шаг) Функция – это дополнительный размер шага, который позволяет пропустить шаг Номера серии непрерывных чисел.

Python Создать список от 0 до 100

Специальная ситуация возникает, если вы хотите создать список от 0 до 100 (включая). В этом случае вы просто используете Список (диапазон (0, 101)) Функциональный вызов. Как Стоп Аргумент, вы используете номер 101, потому что он исключается из окончательной серии.

print(list(range(0, 101)))
# [0, 1, ..., 100]

print(list(range(101)))
# [0, 1, ..., 100]

На самом деле не нужно давать индекс запуска по умолчанию 0, так что вы можете просто пропустить его.

Python Создать список для петли

Чтобы создать список с помощью LOOP, вы сначала инициализируете пустой список, а затем впоследствии добавляете элемент в список:

lst = []
for x in range(10):
    # Append any initial element here:
    lst.append(x)

print(lst)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Вы можете узнать больше о однострочном цикле в этой статье.

Python Создать список списков

Тем не менее, есть небольшая проблема, если вы хотите создать список с помощью мусорных объектов (например, список списков):

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 Создать список кортежей

Аналогичный подход может быть использован для создания списка кортежей вместо списка списков.

n = 5
lst = [() for _ in range(n)]
print(lst)

lst[2] = (1, 2, 3)
print(lst)

'''
[(), (), (), (), ()]
[(), (), (1, 2, 3), (), ()]
'''

Вы сначала инициализируете список пустыми кортежами. Кортежи неизменны, поэтому вы не можете их изменить. Но вы можете перезаписать каждый элемент списка с новым корпусом, как вы сделали в примере с третьим элементом и кортежом (1, 2, 3) .

Python создать одинаково интерстерн

Чтобы создать одинаково расположенный список, используйте функцию NP.LINSPACE () NUMPY BITALY. Вот короткий учебник по этому вопросу:

Давайте сначала получим быстрый обзор.

Давайте посмотрим на три наиболее распространенные аргументы более подробно сначала: Начать , Стоп и опускать . Вот что Официальные Numpy Docs должен сказать:

numpy.linspace(start, stop, num=50)

Возвращение равномерно расположено на указанном интервале. Возвращает Num равномерно распределенные образцы. Конечная точка интервала может быть необязательно исключена.

Примечание Как называет имя, np.linspace Возвращает номера, которые являются линейно разнесенные отдельно. Таким образом, они все находятся на расстоянии друг от друга (подумайте о пунктах на линии).

Из определения следует, что np.linspace (-3, 3) даст нам 50 номеров равномерно разнесенным в интервале [-3, 3] . Давайте проверим это с некоторым кодом.

Попробуй сам : Вы можете запустить код в оболочке, нажав «Run»!

Упражнение : Можете ли вы уменьшить количество образцов до 10?

>>> A = np.linspace(-3, 3)

>>> type(A)
numpy.ndarray

# Number of elements in A
>>> len(A)
50

# First element of A
>>> A[0]
-3.0

# Last element of A
>>> A[-1]
3.0

# The difference between every value is the same: 0.12244898
>>> np.diff(A)
array([0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898])

Если мы хотим только 10 образцов от -3 до 3, мы устанавливаем Num = 10 Отказ

>>> B = np.linspace(-3, 3, num=10)

# B only contains 10 elements now
>>> len(B)
10

Но что, если вы хотите инициализировать свой список со случайными элементами?

Python Создать список случайных элементов

Вы хотите инициализировать список с какими-то случайными числами? Далее я покажу вам четырех разных способа достижения этого – наряду с коротким обсуждением о «Самый питонический путь» Отказ

Проблема : Учитывая целое число N Отказ Создать список N Элементы в определенном интервале (пример интервала: [0, 20] ).

# n = 5 --> [2, 3, 1, 4, 3]
# n = 3 --> [10, 12, 1]
# n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]

Решение : Вот быстрое обзор о том, как вы можете создать список случайных чисел:

  • Метод 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, «Лиз»]] Отказ

l1 = [1, 2, 3, 4]
l2 = ['Alice', 'Bob', 'Ann', 'Liz']
# ... calculate result ...
# Output: [[1, 'Alice'], [2, 'Bob'], [3, 'Ann'], [4, 'Liz']]

Вот быстрый обзор наших решений:

Упражнение : Создайте новый список L3. и изменить четыре метода на молния вместе все три списки (вместо всего два).

Python Создать список A- z

Создать список со всеми символами «А» , 'b' , …, 'Z' , вы можете использовать Список () Конструктор на string.ascii_lowercase Переменная:

>>> import string
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> list(string.ascii_lowercase)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

Список () Конструктор создает новый список и поместите все элементы в Iterable в новый список. Строка является утечкой с элементами символов. Таким образом, результат представляет собой список строчных букв.

Python Создать список словарей

Скажи, у вас есть Словарь {0: «Алиса», 1: «Боб»} И вы хотите создать Список словарей с копиями оригинального словаря: [{0: 'ALICE', 1: 'BOB'}, {0: 'ALICE', 1: 'BOB'}, {0: 'ALICE', 1: 'BOB'}] Отказ

d = {0: 'Alice', 1: 'Bob'}

dicts = [{**d} for _ in range(3)]
print(dicts)
# [{0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]

Вы используете понимание списка с вариабельной подчеркиванием цикла «Выброс» _ Создать список из 3 элементов. Вы можете изменить значение 3, если вам нужно больше или меньше элементов в вашем списке.

Выражение {** D} распаковывать Все (ключ, значение) пары из оригинального словаря D в новый словарь.

Полученный список содержит копии исходного словаря. Если вы измените один, другие не увидят это изменение:

dicts[0][2] = 'Frank'
print(dicts)
# [{0: 'Alice', 1: 'Bob', 2: 'Frank'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]

Только первый словарь в списке содержит новое значение ключа. (2: «Фрэнк») Что доказывает, что словари не указывают на тот же объект в памяти. Это было бы так, если бы вы использовали следующий метод Копирование списка с одним словарем:

d2 = {0: 'Alice', 1: 'Bob'}

dicts2 = [d2] * 3
print(dicts2)
# [{0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]

Метод выглядит правильно, но все три словари по существу одинаковы:

dicts2[0][2] = 'Frank'
print(dicts2)
# [{0: 'Alice', 1: 'Bob', 2: 'Frank'}, {0: 'Alice', 1: 'Bob', 2: 'Frank'}, {0: 'Alice', 1: 'Bob', 2: 'Frank'}]

Если вы измените один, вы меняете все.

Вы можете увидеть этот эффект самостоятельно в следующем инструменте визуализатора памяти:

Упражнение : Измените метод правильно, чтобы изменить влияет только на первый словарь!

Python Создать список из DataFrame

Чтобы создать список из Pandas DataFrame Используйте метод df.values.tolist () В вашем объекте DataFrame дф. :

import pandas as pd

incomes = {'Name': ['Alice','Bob','Ann'],
           'Income': [2000, 3000, 9000]}

df = pd.DataFrame(incomes)

lst = df.values.tolist()
print(lst)
# [['Alice', 2000], ['Bob', 3000], ['Ann', 9000]]

Вы можете увидеть, что вывод представляет собой список списков в этом примере. Если вам нужно улучшить свои навыки Pandas, посмотрите самые красивые чис-листы Python Pandas.

Python Создать список из Numpy Array

Конвертировать Numpy массив А В список, используйте A.Tolist () Метод на объекте массива. Если массив Numpy многомерный, A Вложенный список создано:

import numpy as np

a = np.array([[1, 2, 3],
              [4, 5, 6]])

l = a.tolist()
print(l)
# [[1, 2, 3], [4, 5, 6]]

Полученный список – это вложенный список списков.

Python Создать список копии

Удивительно, что даже продвинутые кодеры Python не знают деталей Копировать () Метод списков Python. Время изменить это!

Определение и использование : list.copy () Метод копирует все Список элементы в новый список. Новый список – это возвращаемое значение метода. Это неглубокая копия – вы копируете только ссылки на объект на элементы списка, а не сами объекты.

Вот краткий пример:

>>> lst = [1, 2, 3]
>>> lst.copy()
[1, 2, 3]

В первой строке вы создаете список lst состоящий из трех целых чисел. Затем вы создаете новый список, скопировав все элементы.

Головоломка – попробуйте сами:

Синтаксис : Вы можете вызвать этот метод на каждом объекте списка в Python. Вот синтаксис:

list.copy ()

Аргументы: Метод не имеет никакого аргумента.

Возвращаемое значение: Метод list.clear () Возвращает Список Объект, копируя ссылки на все объекты в исходном списке.

Видео:

Статьи по Теме:

  • Окончательное руководство по спискам Python

Вот ваш бесплатный PDF чит-лист, показывающий вас все методы списка Python на одной простой странице. Нажмите на изображение, чтобы загрузить файл PDF с высоким разрешением, распечатать его и опубликовать его в свою офисную стену:

Вы можете узнать больше о методе list.copy () в нашем всеобъемлющем руководстве по этому блогу.

Python Создать список из карты

Проблема : Учитывая карта объекта Отказ Как создать список?

Ответ прямо-вперед – используйте Список () конструктор! Вот пример:

lst = [1, 2, 3]

m = map(str, lst)
print(m)
# 

l = list(m)
print(l)
# ['1', '2', '3']

Полученный список представляет собой список строк, и он содержит все элементы на карте. m .

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/how-to-create-a-python-list/”