Программирование

Понимание List [] на примере Python

Удобная концепция структуры данных в Python

Список - это упорядоченный набор элементов. Он хранит несколько значений внутри одной переменной. Список может содержать элементы любого типа данных, такие как строки, целые числа и т. Д. Элементы списка помещаются в квадратные скобки ([]). Список может содержать элементы одного типа, разных типов или дубликаты.

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

Создание списка

Создать список очень просто. В списке мы всегда должны упоминать переменную для хранения элементов. Давайте посмотрим на некоторые типы создания списка:

1. Creating empty list
a = []
2. Creating an integer/ string list
a = [1, 2, 3, 4]
3.Creating a mixed list
a = [5, “hello”, 65, “welcome”]
4. Creating a nested list
a = [5, 8 , 3, [“hello”, “hi”], 45]

Объяснение: В приведенном выше примере приводится пример простых списков, в которых все элементы хранятся в переменной «a».

Доступ к списку

Мы создали список. Но теперь мы хотим отображать или выводить на печать только необходимые. Индексирование - это способ сделать это. Каждый элемент в списке имеет значение индекса, и с помощью этого значения можно получить доступ к элементам в списке. Есть 2 типа индексации: положительная и отрицательная. Давайте углубимся в каждую из них.

  1. Положительное индексирование

Положительная индексация означает, что доступ к элементам в списке осуществляется слева направо. Здесь индексы начинаются с «0». Давайте рассмотрим эту концепцию на простом примере:

a = [1, 3, 5, 8, “Hello”]
     ↑  ↑  ↑  ↑     ↑
     0  1  2  3     4
print(a[0])
print(a[4])
Output:
1
Hello

Пояснение: В приведенном выше списке «а» пять элементов. Здесь значение индекса начинается с «0» (слева направо) и заканчивается «4».

  • В первом операторе печати вывод будет отображаться как 1, потому что «a [0]» означает, что мы обращаемся к элементу со значением индекса «0». Тот же процесс применяется и ко второму утверждению.

2. Отрицательное индексирование

Отрицательная индексация означает, что доступ к элементам в списке осуществляется справа налево. Здесь индексы начинаются с «-1». Давайте рассмотрим эту концепцию на простом примере:

a = [1, 2, 5, 4, “welcome”]
     ↑  ↑  ↑  ↑      ↑
   -5  -4  -3 -2    -1
print(a[-1])
print(a[-3])
Output:
welcome
5

Пояснение:

Здесь мы видим, что список также доступен справа налево. В первом операторе печати вывод будет отображаться как «welcome», потому что «a [-1]» означает, что мы обращаемся к элементу со значением индекса «-1». Это относится и ко второму оператору печати.

3. Вложенное индексирование

Вложенная индексация имеет ту же концепцию, что и выше. Давайте посмотрим на пример:

a = [“atom”, “cell”, [1, 2, 3]]
       ↑       ↑         ↑
       0       1         2
print(a[0][3])
print([2][0])
Output:
m
1

Пояснение:

В 1-м операторе печати «a [0] [3]» означает, что мы обращаемся к элементу, расположенному в 0-й позиции, то есть «атому». И в этом слове мы обращаемся к элементу с индексом «3», который является буква «м» То же относится и ко второму утверждению.

4. Списки нарезки

Список нарезан для доступа к диапазону элементов. Символ «:» здесь используется для указания диапазона элементов, к которым необходимо получить доступ. Давайте рассмотрим эту концепцию на простом примере:

a = [“toy”, “lock”, 23, 65, 89]
print(a[0:2])
print(a[:-2])
print(a[2:])
print(a[:])
Output:
[‘toy’, ‘lock’, 23]
[‘toy’, ‘lock’, 23]
[23, 65, 89]
[“toy”, “lock”, 23, 65, 89]

Пояснение:

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

  • Первый оператор печати распечатывает список с позиции индекса 0–2.
  • Второй оператор печати печатает все элементы из списка, кроме двух последних элементов.
  • Третий оператор печати печатает все элементы из списка, начиная с позиции 2.
  • Четвертый оператор печати распечатывает все элементы, присутствующие в списке.


Добавить / изменить список

В списке, если есть требование добавить в него элемент, нет необходимости делать это вручную. В список можно добавить элемент с помощью программы python. Давайте разберемся, как:

a = [56, 78, 99]
a[1] = “hello”
print(a)
a.append(4)
print(a)
a.extend([5, 6, 77])
print(a)
Output:
[56, “hello”, 99]
[56, “hello”, 99, 4]
[56, “hello”, 99, 5, 5, 6, 77]

Пояснение:

В 1-м фрагменте кода слово «привет» заменяется на 78, которое находится в значении индекса 1. В этом списке значение «4» добавляется в конец списка (2-й фрагмент кода). После этого список «[5, 6, 7]» добавляется в конец списка во фрагменте кода.

Удалить или удалить элементы списка

Если есть требование удалить элемент в списке, нет необходимости делать это вручную. Нежелательные элементы в списке можно удалить с помощью программы python. Давайте разберемся на примере:

a = [45, 89, 67, 88, 65,45]
del a[2]
print(a)
del a[2:4]
print(a)
del a
print (a)
Output:
[45, 89, 88, 65, 45]
[45, 89]
Traceback (most recent call last):
   File “<string>”, line 9, in <module>
NameError: name ‘a’ is not defined

Пояснение:

В первой программе будет удален элемент, имеющий значение индекса «2». Теперь из этого удаленного списка будут удалены элементы в позициях индекса со 2 по 4. И теперь последний фрагмент кода удаляет все элементы того, что осталось в списке.

Список методов

В python используется несколько методов списков, таких как append (), extend (), clear () и т. Д. Эти методы также значительно упрощают понимание программы. Давайте посмотрим на эти методы на нескольких примерах:

  1. append (): метод append () добавляет один элемент в конец списка.

Программа:

a = [‘e’, ‘l’, ‘i’, ’n’, ‘o’, ‘s’, ‘u’]
a.append([‘k’, ‘i’, ’n’, ‘g’])
print(a)
Output:
[‘e’, ‘l’, ‘i’, ’n’, ‘o’, ‘s’, ‘u’, [‘k’, ‘i’, ’n’, ‘g’]]

2. extend (): метод extend () добавляет любое количество элементов из указанного списка в конец списка.

Программа:

a = [‘p’, ‘l’, ‘a’, ’n’, ‘t’, ‘s’, ‘s’]
a.extend([‘k’, ‘i’, ’n’, ‘g’])
print(a)
Output:
[‘p’, ‘l’, ‘a’, ’n’, ‘t’, ‘s’, ‘s’, ‘k’, ‘i’, ’n’, ‘g’]

3. clear (): Метод clear () удаляет все элементы, присутствующие в списке.

Программа:

a = [‘t’, ‘o’, ‘y’]
a.clear()
Output:
[]

4. remove (): метод remove () удаляет один элемент / элемент из списка.

Программа:

a = [‘t’, ‘o’, ‘y’]
a.remove(‘y’)
print(a)
Output:
[‘t’, ‘o’]

5. pop (): Метод pop () удаляет и возвращает последнее значение либо из списка, либо из заданного значения индекса.

Программа:

a = [‘t’, ‘o’, ‘y’, ‘s’]
print(a.pop(3))
Output:
s

6. insert (): Метод insert () вставляет элемент по заданному индексу.

Программа:

num = [34, 35, 37]
num.insert(2, 36)
print(num)
Output:
[34, 35, 36, 37]

7. index (): Метод index () возвращает первый совпавший элемент в списке.

Программа:

num = [34, 35, 38]
print(num.index(38))
Output:
2

8. count (): Метод count () возвращает количество элементов, переданных в качестве аргумента.

Программа:

d = [1,2,3,4,3,5,3]
print(d.count(3))
Output:
3

9. sort (): Метод sort () сортирует список в порядке возрастания.

Программа:

r = [5,66,3,8,1]
r.sort()
print(r)
Output:
[1, 3, 5, 8, 66]

10. reverse (): Метод reverse () меняет порядок элементов, представленных в списке.

Программа:

e = [1, 3, 5, 8, 66]
e.reverse()
print(e)
Output:
[66, 8, 5, 3, 1]

Тест на членство в списке

Тест на членство в списке - это тест, чтобы проверить, присутствует ли определенный элемент в списке или нет.

Программа:

animal = [ ‘a’, ’n’, ‘i’, ‘t’, ‘a’, ‘l’, ‘y’]
print(‘a’ in animal)
print(‘b’ in animal)
Output
True
False

Пояснение:

В приведенной выше программе первый оператор проверяет, присутствует ли элемент «a» в списке. Поскольку «a» находится в списке, он возвращает результат как True. Аналогичный процесс применяется и ко второму утверждению.



Итерация с использованием списка

Итерация с использованием списка означает использование циклов for. Цикл for помогает распечатать оператор более одного раза. Давайте рассмотрим эту концепцию на простом примере:

for animal in ["Tiger", "Lion", "Hyena", "Zebra"]:
    print(animal, “is an animal”)
Output:
Tiger is an animal
Lion is an animal
Hyena is an animal
Zebra is an animal

Объяснение: Вышеупомянутая программа представляет собой циклическую программу (с использованием цикла for). Здесь программа печатает вывод до конца списка.

Надеюсь, статья вам понравилась. Свяжитесь со мной в моих LinkedIn и twitter.

Рекомендуемые статьи

1. NLP - от нуля до героя с Python
2. Структуры данных Python Типы данных и объекты
3. Концепции обработки исключений в Python
4. Почему LSTM более полезен, чем RNN в глубоком обучении?
5. Нейронные сети: рост рекуррентных нейронных сетей
6. Полностью объясненная линейная регрессия с помощью Python
7. Полностью объясненная логистическая регрессия с помощью Python
8. Различия между concat (), merge () и join () в Python
9. Преобразование данных в Python - часть 1
10. Матрица путаницы в машинном обучении »