Для решения реальных проблем в кодировании каждый ищет эффективность во время выполнения, а также эффективность использования ресурсов.
Структура данных - это формат организации, управления и хранения данных, обеспечивающий эффективный доступ и изменение. Знание, какие структуры данных будут использоваться для решения текущей проблемы, увеличит время выполнения и эффективность использования ресурсов. По этой причине все ведущие отрасли и компании ищут людей, хорошо разбирающихся в структурах данных.
Вот что мы рассмотрим сегодня:
- Список
- Кортежи
- Наборы
- Словари
Структуры данных в Python представляют собой модифицированные формы базовых структур данных, которые используют встроенные структуры в качестве своей основы, а именно:
- Список: это структура данных в виде массива, которая позволяет нам сохранять изменяемые объекты данных того же типа, что и переменная. Они объявлены в пределах [].
List = ["car", "bike", "auto"]
- Кортежи: кортежи - это неизменяемые списки, что означает, что после ввода данных их нельзя изменить. Они объявлены внутри ().
Tuple = ("car", "bike", "auto")
- Наборы: наборы - это неупорядоченные коллекции объектов данных, объявленных в {}.
Set = {"car", "bike", "auto"}
- Словари. Подобно хэш-картам на других языках, словарь представляет собой набор пар "ключ-значение", объявленных в {}.
Dictionary = { "brand":"Ford" , "model":"Mustang", "year": 2000 }
Теперь давайте рассмотрим их по очереди.
Массивы (списки) в Python:
Python не имеет встроенного типа массива, но вы можете использовать списки для всех тех же задач. Массив - это набор значений одного типа под одним именем.
В отличие от статических массивов в языке программирования Java, массивы в Python можно автоматически увеличивать или уменьшать путем добавления или удаления элементов. Список имеет множество функций. Вот некоторые из них:
len()
: эта функция дает длину списка (массива).append(element)
,insert(index, element)
,old_list.extend(new_list)
: эти функции используются для вставки элемента в список. Функцияappend
добавляет элемент к последней позиции списка, функцияinsert
добавляет элемент к предоставленному индексу, а функцияextend
добавляет новый список к существующему старому списку или наоборот.remove(element)
,pop(index)
,del list[index] or del list
,list.clear()
: эти функции используются для удаления определенных элементов списка или самого списка. Функцияremove
удаляет указанный элемент из списка. Функцияpop
удаляет элемент из указанного индекса, а функцияdel
удаляет данный элемент или сам список. Функцияclear
немного отличается: эта функция очищает все элементы в списке, но сохраняет список нетронутым без каких-либо элементов.list.sort()
,list.sort(reverse=True)
: эти функции могут использоваться для сортировки данного списка в возрастающем или убывающем порядке.list.copy()
: Эта функция создает копию списка в этот момент времени.
Самая интересная вещь в списках Python - это понимание списков. Он предлагает более короткий синтаксис для создания нового списка на основе существующего списка или полностью нового списка. Вот пример
number_list = [ x for x in range(20) if x % 2 == 0]
# This list will contain a list of even numbers starting from 0 upto 20
Кортежи в Python:
Кортежи - это в основном неизменяемые списки. Они указаны в круглых скобках ()
. Функциональные возможности кортежей следующие:
len()
: Эта функция дает длину структуры данных.- Для доступа к элементам кортежа мы используем индексирование кортежа, которое может быть
tuple[1]
илиtuple[-1]
для последнего элемента и диапазона индексов, а именноtuple[1:3]
. - Обновление кортежа невозможно, поскольку они неизменяемы, но есть обходной путь: преобразование кортежа в список, изменение списка и последующее преобразование его обратно в кортеж.
- Мы можем объединить 2 кортежа, чтобы создать новый кортеж, используя оператор
+
.
tuple1 = ("a","b","c") tuple2 = (1, 2, 3) tuple3 = tuple1 + tuple2
tuple.count(element)
: эта функция возвращает количество раз, когда указанное значение встречается в кортеже.tuple.index(element)
: эта функция ищет в кортеже указанное значение и возвращает положение, в котором оно было найдено.
Наборы в Python:
Набор - это неупорядоченный и неиндексированный набор объектов данных. Заявлено в {}
. Функциональные возможности следующие:
len()
: Эта функция дает длину структуры данных.set.add(element)
: Эта функция добавляет элемент в набор.oldset.update(newset)
: Эта функция добавляет новый набор к существующему старому набору.set.remove(element)
,set.discard(element)
,set.pop()
: эти функции могут использоваться для удаления элемента из набора.set1.difference(set2)
: эта функция возвращает разницу двух наборов.set1.intersection(set2)
: эта функция возвращает пересечение двух множеств.set1.union(set2)
: эта функция возвращает объединение двух наборов.set1.symmetric_difference(set2)
: эта функция возвращает симметричную_разность двух наборов.set1.isdisjoint(set2)
,set1.issubset(set2)
,set1.issuperset(set2)
: эти функции возвращаютTrue
илиFalse
в зависимости от условия, которое они проверяют.
Словари на Python:
Словарь - это набор объектов данных, хранящихся в виде пар ключ-значение. Они упорядочены и изменяемы. Они заявлены {}
.
Функциональные возможности словарей следующие:
len()
: Эта функция дает длину структуры данных.dictionary.copy()
: эта функция возвращает копию словаря.dictionary.fromkeys(keys, value)
: эта функция возвращает словарь заданных ключей со значениемvalue
.dictionary.get(key)
,dictionary.items()
: эти функции возвращают значение указанного ключа и список, содержащий кортежи пар ключ-значение.dictionary.pop(key)
,dictionary.popitem()
: эти функции удаляют элемент из словаря на основе ключа или последней пары ключ-значение.dictionary.values()
: эта функция возвращает все значения словаря.
Вот и все, ребята для этой части поста. Вернитесь позже, чтобы узнать больше о Python. Мир снаружи.
Скоро вторая часть этого поста!
Читайте вторую часть ЗДЕСЬ.
Ссылки:
Больше контента на plainenglish.io