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

Структуры данных Python Data ..

Наиболее основным типом данных в Python является последовательностью. Это включает в себя хранение данных в конкретном … Теги с Python, машинным обучением, наукой данных, программированием.

Наиболее основным типом данных в Python является последовательностью. Это включает в себя хранение данных в конкретной структуре, которая характеризуется индексом и значениями; где индекс ссылается на положение элемента/значения в структуре. Индексы, ссылаясь на начало от 0 Структуры позволяют некоторые общие операции, такие как индексация, нарезка, добавление, умножение между другими. Существует около шести встроенных типов последовательностей, но наиболее распространенными являются списки, словари, кортежи и наборы.

Списки Python.

Списки заказывают последовательность запятых предметов в квадратном кронштейне. Квадратный кронштейн указывает на начало и конец указанного списка.

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

Список создан, когда значения, заключенные в квадратные скобки, назначаются переменной, как показано ниже: List_1 = [] – Это создает пустой список. List_2 = [1, 2, 3, 4, 5, 6] – список, содержащий цифры. List_3 = [«A», «B», «C», «D», «E», «F»] – Список, содержащий алфавиты, элементы, содержащиеся в списке, могут иметь разные типы данных E.G. Числа, строки или даже сам список. List_4. = [«Понедельник», «среда», 890, 325, [1998, 1999, 2002], «воскресенье»]

Доступ к значению списка.

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

List_2 = [ 1, 2, 3, 4, 5, 6 ]
List_3 = [ "a", "b", "c", "d", "e", "f"  ]       
print ("List _1[0]: ", List _1[0]) 
print ("List _2[1:5]: ", List _2[1:5])

Когда вышеуказанный код выполнен, это результаты: –

List_1[0] :  1
List_2[1:5] :  ["b", "c", "d", "e", "f"  ]
Обновлять списки.

Чтобы обновить одно или несколько значений списка, назначьте ломтик слева от присвоения к списку для обновления в определенном индексе.

#Empty List
List_1 = [ ] 

#Add 3 to the beginning of the empty list .
List_1 [0]  = 3
print(List_1)

List_2 = [ 1, 2, 3, 4, 5, 6 ]
print ("Value at index 3 :" , List_2 [ 3])
List_2 [ 3] = "Mathematics"
print ("New value at index 3 :" , List_2 [ 3])

Когда вышеуказанный код выполнен, это результаты: –

Value at at index 3 : 4
 New value at index 3 : Mathematics
Удалить элементы списка.

Чтобы удалить/удалить элемент списка, используйте либо дель Заявление, если вы знаете фактический элемент для удаления или Удалить () Метод Если вы не знаете о элементе удалить.

List_5 = [1, 3.14, "abc", 5, 7, 8]
print(List before deleting value at index 2 : ", List_5)

del List_5[2]
print("List after deleting value at index 2 : ", List_5)

Приведенный выше код приведет к: –

List before deleting value at index 2 :  [1, 3.14, "abc", 5, 7, 8]

List after deleting value at index 2 :  [1, 3.14, 5, 7, 8]
Основные операции списка.

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

List_2 = [ 1, 2, 3, 4, 5, 6 ]
Print(List_2 + [7,8,9])

Num = [9,8,7]
Print(num * 3)

Который производит следующий вывод:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

[9,8,7,9,8,7,9,8,7]

Чтобы проверить, существует ли данный элемент в списке, в Оператор используется. Это возвращает true, если товар существует и ложь, если это не так.

Num = [9,8,7]
print(8 in Num)
print(3 in Num)

Когда вышеуказанный код выполнен, это приводит к:

True
False

Мы также можем использовать не Оператор для проверки, если элемент не находится в списке. Оцените код ниже, чтобы проверить вывод.

Num = [9, 8, 7]
Print( not 4 in Num )
Print( 4 not in Num )
Print( not 8 in Num )
Print( 8 not in Num )
Список нарезки.

Список нарезка – это усечение списка в данном диапазоне, указанном индексом. Позволяет использовать следующий список для выполнения различных операций нарезки.

List_5 = [1, 3.14, "abc", 5, 7, 8]

# To print the entire list items
print(List_5[:])

# To print from a given index (say 2 )  to  the end.
print(List_5[2:])

# To print from a given index (say 2 )  to  another index (say 4).
print(List_5[2:4])

# To print from the beginning  to  the second last item.
print(List_5[ : -1])

# To print from the beginning  to  the third last item.
print(List_5[ : -1])

# To print from a given index (say 1)   to  the second last item.
print(List_5[ 1 : -1])

# To reverse the list
print(List_5[ : : -1])


Различные выходы будут как указаны ниже

[1, 3.14, 'abc', 5, 7, 8]
['abc', 5, 7, 8]
['abc', 5]
[1, 3.14, 'abc', 5, 7]
[1, 3.14, 'abc', 5]
[3.14, 'abc', 5, 7]
[8, 7, 5, 'abc', 3.14, 1]

Словари Python.

Слоксиры являются ключевыми элементами значения, заключенные в фигурные скобки. Каждый ключ отделяется от его значения толстой кишки (:). Пара ключа и стоимости образует элемент словаря. Предметы разделены запятыми и заключены в фигурные скобки. Курли скобки указывают на начало и конец указанного словаря. Словающие ключевые ключи очень уникальны и используются для ссылки на данные значения, которые не могут быть уникальными и могут быть любого типа данных. Они имеют неизменные типы данных, такие как строки, цифры или кортежи. Ключевое дублирование не поддерживается. Значения словаря не имеют ограничений и могут быть любым объектом Python.

Словари, как правило, не являются неупорядоченными точкой. Орден предметов в словаре не обязательно будет порядок, в котором мы ставим их во время создания. Это потому, что Python внутренне переставляет элементы, чтобы оптимизировать производительность.

Создание словарей:

# Empty Dictionary
dict = { }

# Dictionary with data
dict = { 'food' : 'Pilau' , 'drink': 'Soda', 'fruit': 'strawberry'}

Каждая запись состоит из пары предметов, разделенных толстой кишки. Первая часть называется ключом I.E еда, напитки, фрукты и вторая часть – это значение I.e Pilau, сода, клубника.

Доступ к значениям словаря.

Чтобы получить доступ к заданному словарю, используйте квадратные скобки вместе с ключом, чтобы получить его значение.

dict = { 'food' : 'Pilau' , 'drink': 'Soda', 'fruit': 'strawberry'}

print ("dict['food']: " ,  dict['food'])
 print ("dict['fruit']: " ,  dict['fruit'])

Когда вышеуказанный код выполнен, он производит следующий результат –

dict['food']:  Pilau
 dict['fruit']: strawberry

Доступ к данным словаря с использованием ключа, который не является частью словаря, не генерирует ошибку.

Изменение словарного значения.

Словарь может быть изменен, добавив новую запись (пару клавиша), изменяя существующую запись или удаление существующей записи, как показано на рисунке.

dict = { 'food' : 'Pilau' , 'drink': 'Soda', 'fruit': 'strawberry'}

# To add new entry to the dictionary
dict['age'] = 28

#  To change `drink` from soda to water use:
dict['drink'] = water

При удалении записи вы можете либо удалить отдельные элементы словаря или очистить все содержимое словаря. Чтобы удалить определенную запись, используйте дель Заявление и укажите индекс элемента. Когда дель Заявление используется в словаре, не определяя атрибут ключа, то весь словарь удаляется. Однако только очистить содержимое словаря и сохранить саму словарь США ясно функция. Это очищает каждый элемент и возвращает пустой словарь.

dict = { 'food' : 'Pilau' , 'drink': 'Soda', 'fruit': 'strawberry'}

# Remove entry with key 'fruit
del dict['fruit']

#  Remove all entries  in the dictionary
del dict

# Remove all entries of the dictionary.
dict.clear()
Копирование словарей.

Используйте Скопируйте () Способ копирования словаря.

dict = { 'food' : 'Pilau' , 'drink': 'Soda', 'fruit': 'strawberry'}

d = dict.copy()
В операторе.

Оператор в операторе проверяет, является ли данный элемент ключом в словаре. Ссылаясь на ключ, который не находится в словаре, дает ошибку и использование оператора в первую очередь проверки наличия ключа предотвращает ошибку.

dict = { 'food' : 'Pilau' , 'drink': 'Soda', 'fruit': 'strawberry'}

# Check if a given letter/word is a key in dict
letter = input( 'Enter a letter / word')
if letter in dict
    print("The value is: ' , dict[letter]
else:
    print("Not in dictionary")

Структура в словарях похоже на то из списков

for key in dict
    print(key)      # Keys
    print(dict[key])    # Values
Манипулирование списками клавиш и ценностей.

Использование словаря D = {‘A’: 1, «B»: 2}

d = {'A':1, 'B':2}

# To generate a list from the dictionary keys
list(d)

# To generate a list from the dictionary values
list(d.values())

# # To generate a list from the dictionary keys – values pair
list(d.items())

При выполнении он производит следующий вывод.

['A', 'B']
[1, 2]
[('A', 1), ('B', 2)]

Пара вернулась d. items () называются кортежами.

Dict () Функция также может создать словарь. Это почти как противоположность метода предметов выше.

d  = dict([('z',26), ('x',24)])
Print(d)

Это выкроет следующий словарь: –

{'z': 26, 'x': 24}
Словарь.

Это работает аналогично потенциалам списка. Например, чтобы создать словарь из списка слов, где значения являются длиной слов.

d = {s : len(s) for s in words}

Python Tupple.

В кортеже представляет собой последовательность неизменных объектов Python, которые прилагаются в скобках и разделены запятой. Кортеж похож на список. Только разница в том, что список прилагается между квадратным кронштейном, кортеж между скобками и списком имеет мусорные объекты, тогда как кортеж обладает неизменными объектами. Кортеры неизменны, то есть они не могут быть обновлены и считаются только списками только для чтения.

Зачем использовать кортеж?
  1. Обработка кортежей быстрее, чем списки.
  2. Это делает данные, безопасными, поскольку кортежи неизменяются, и, следовательно, нельзя изменить.
  3. Кортежи используются для форматирования строки.
Создание кортежей.

Кортежи создаются:

  • Использование скобок, если скобка/скобка не дана последовательностью, она по умолчанию рассматривается как кортеж.
b = (1,2,'T',7.9)
c="a",10,20.9 
print(b)
print(c)

Выход:-

(1, 2, 'T', 7.9)
("a",10,20.9)

Кортеры неизменяются, поэтому можно только создать новый кортеж от порций существующего кортежа. Но там может существовать пустой кортеж, который не содержит элемента.

tuple_1 = ()

Для одного ценного кортежа должна быть запятая в конце стоимости.

tuple_1=(103,)
Доступ к кормам

Кортежи, как правило, как списки доступны с использованием ссылки на индекс.

tuple_1=(103,104,105,106)
tuple_2=('Marina', 'Naftal','Joanne','Alex')

print(tuple_1[0])
print(tuple_1[0:2])
print(tuple_2[-3:-1])
print(tuple_1[0:])
print(tuple_2[:2])

Это выведет:

103
(103, 104)
('Naftal', 'Joanne')
(103, 104, 105, 106)
('Marina', 'Naftal')
Удаление элементов кортежа

Форты, которые являются неизменными, невозможно удалить отдельные элементы из него. Явно удалить весь кортеж, используйте дель утверждение.

tuple_2 = ('Marina', 'Naftal','Joanne','Alex')
del tuple_2
  • Операции операций кортежей, выполненные на кортеже, могут быть даны как:
Добавление кортежа

Элементы кортежей могут быть добавлены вместе с помощью оператора ConcateNation (+), чтобы присоединиться к двум корзам.

tuple_1=(103,104,105,106)
tuple_2=('Marina', 'Naftal','Joanne','Alex')
tuple_3=tuple_1+tuple_2
print(tuple_3)

Это результаты в: –

(103, 104, 105, 106, 'Marina', 'Naftal', 'Joanne', 'Alex')
Репликация кортежа

Это означает повторение элементов кортежей и можно сделать с помощью оператора ‘*’.

tuple_4=(10,20,30);
print(tuple_4*2)

Это результаты в: –

(10, 20, 30, 10, 20, 30)

Наборы Python.

Набор – это структура данных со следующими свойствами

  • Элементы неупорядочены.
  • Элементы уникальны. I.e. появляются только один раз.
  • Элементы неиндексированы.

Наборы могут быть любого типа данных и используются, когда:

  • Порядок данных не имеет значения.
  • Требуются уникальные элементы.
Создание наборов.

Наборы создаются

  • Использование курчавых скобок, например
a = {1,5,'s',1.5}
print(a)
print(b)

Следующий код производит вывод: –

{1, 's', 5, 1.5}

  • Использование конструктора, например
f = set([2,3,4])
print(f)

Который производит следующий вывод: –

{2, 3, 4}
  • Установить операции
Нахождение длины набора

Это делается с использованием функции Len ().

f = set([2,3,4])
print(len(f))

Это будет произведено:

4
Доступ к элементам набора.

Установленные элементы могут быть доступны только с использованием петель, но не индексов.

a = {1,5,'s',1.5}
for x in a:
    print(x)
Добавление элементов в набор.

Добавить () Функция позволяет добавить один элемент на набор. Обновление () Функция позволяет добавить более одного элемента на набор.

c = set()
c.add(8)
print(c)
c.update([1,5,'s',1.5])
print(c)

При выполнении он производит следующие результаты:

{8}
{1, 1.5, 5, 8, 's'}
Удаление элементов из набора.

а) Удалить () Функция удаляет элементы из набора, указанного в качестве параметра. б) Откажитесь от () Функция используется для удаления элемента, когда это существование в наборе не гарантировано. в) поп () Функция используется для удаления случайного элемента из множества.

c = { 1, 1.5, 5, 8, 's'}
c.remove(1.5)
print(c)

Результатом является: –

{1, 5, 8, 's'}
Союз наборов.

SE Union – это конконация двух или более наборов в один набор. Для объединения наборов мы используем символ трубопровода (|) или мы можем применить Союз Метод, как показано ниже.

c = { 1, 1.5, 5, 8, 's'}
f = {10, 2, 3, 4}
d = {7,'i','p',45}
print(c|f)
print(c.union(d))
print(c|f|d)

Выполнение вышеуказанных результатов кода к: –

{1, 1.5, 2, 3, 5, 4, 8, 10, 's'}
{1, 1.5, 5, 7, 8, 's', 45, 'i', 'p'}
{1, 1.5, 2, 3, 5, 4, 7, 8, 10, 's', 45, 'i', 'p'}
Пересечение множеств.

Пересечение, примененное на двух или более наборах, является образование нового множества, состоящего только только обычные элементы, присутствующие в объединенных множествах. Это делается с использованием символа Ampersand (&) или используя пересечение Метод, как показано ниже.

c = { 1, 10, 5, 8, 's'}
f = {10, 2, 3, 4,5}
d = {7,'i','p','s'}

print(c&f)
print(c.intersection(d))

# Results into an empty set
print(c.intersection(d,f))  

Выход:-

{10, 5}
{'s'}
set()
Разница наборов.

Установленная разница, применяемая на двух или более наборах, создает новый набор элементов, которые присутствуют только в одном из этих наборов. Это достигается с помощью символа ‘-‘ или Разница () метод.

c = { 1, 10, 5, 8, 's'}
f = {10, 2, 3, 4,5}
d = {7,'i','p','s'}

print(c-f)
print(f-c)
print(c.difference(d))
print(c.difference(d,f))

Когда код выше запущен, он генерирует следующий вывод: –

{8, 1, 's'}
{2, 3, 4}
{8, 1, 10, 5}
{1, 8}
Замороженные наборы.

Замороженный набор – это заблокированный набор, значения которых не могут быть изменены. I.e. Невозможно добавлять или удалять значения из замороженного набора. Это неизменяется. Замороженный набор создан с использованием Frozenset () функция.

a = {1,3,5,7,'y',89}
b = frozenset(a)
print(b)

Это выходы:

frozenset({1, 'y', 3, 5, 7, 89})

Ошибка генерируется, когда кто-то пытается добавить или удалить элемент из замороженного набора.

b.add(8)

Выход:-

Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'frozenset' object has no attribute 'add'

Оригинал: “https://dev.to/seniorcitizen/python-data-structures-3k84”