В этом сообщении мы собираемся изучить краткий обзор некоторых структур данных, специфичных для Python3.
Python имеет четыре основные встроенные структуры данных: списки, словарь, кортеж и набор. Мы увидим, как использовать каждого из них и как они облегчают жизнь для нас.
Список Python
Списки в Python являются коллекциями элементов. Они могут быть такими длинными, как вы хотите, и отдельные элементы могут иметь тот же тип или нет. Предметы в списке разделены запятыми и заключены в квадратные скобки:
some_list = [1, 2, 3, 4, 5] some_list = ['a','b','c','d'] some_list = [7, 'hi', None, False, True, ['another', 'list']]
Чтобы получить доступ к элементу в списке, мы используем обозначения кронштейнов и передаем индекс. Списки в Python Используйте индекс на основе нуля:
some_list = ['a', 1, False] print(some_list[2]) #False
Кроме того, существует ряд встроенных методов, которые вы можете использовать. Вот еще несколько:
append () – добавляет значение к концу списка:
some_list = [11,25,3] some_list.append(10) print(some_list) #[11,25,3,10]
clear () – удаляет все значения в списке:
some_list = [1,2,3] some_list.clear() print(some_list) #[]
copy () – делает мелкую копию списка:
some_list = [2,3,4] another_list = some_list.copy() print(another_list) #[2, 3, 4]
count () – Подсчет, сколько раз появляется элемент в списке:
some_list = [1,2,3,4,5,5,5,5] some_list.count(1) #1 print(some_list.count(5)) #4
extend () – добавляет все элементы списка в какой -то другой список:
some_list = [1,2,3] some_list.extend([5,6,7]) print(some_list) #[1,2,3,5,6,7]
index () – Возвращает индекс элемента. Если элемент не найден, index возвращает ValueError:
some_list = [4,8,6,4] print(some_list.index(8)) #1 print(some_list.index(4)) #0 - it only finds the index of the first matching element print(some_list.index(12)) #ValueError
INSERT () – вставьте элемент в список в данном индексе:
some_list = [4,6,8] some_list.insert(2,'awesome') #inserts 'awesome' at index 2 print(some_list) #[4,6,'awesome',8]
pop () – удаляет последний элемент из списка и возвращает удаленный элемент:
some_list = [3,4] print(some_list.pop()) #4 print(some_list.pop()) #IndexError
pop () бросает ошибку, если вы позвоните в пустой список.
удалить () – удалять первое вхождение значения:
some_list = [1,2,3,1] some_list.remove(1) print(some_list) #[2,3,1]
Обратный () – обращает порядок всех элементов списка:
some_list = [1,2,3,4] some_list.reverse() print(some_list) #[4,3,2,1]
sort () – сортирует все элементы списка в порядке возрастания:
some_list = [1,4,3,2] some_list.sort() print(some_list) #[1,2,3,4]
Питон кортеж
Подобно списку, кортеж в Python также является коллекцией предметов. Различия заключаются в том, что кортежи неизбежны, что означает, что мы не можем изменить элементы после назначения, и использовать скобки, тогда как в списках используются квадратные скобки. Из -за неизменности операции на кортежах быстрее, чем в списках.
some_tuple = ('a', 'b', 'c', 'd')
Чтобы написать кортеж, содержащий единственное значение, вы должны включить запятую, даже если есть только одно значение:
single_tuple = ('a',)
Ниже приведены некоторые общие методы, используемые на кортежах:
count () – возвращает количество раз, когда значение появляется в кортеже:
some_tuple = (1,2,3,3,3) print(some_tuple.count(1)) #1 print(some_tuple.count(3)) #3
index () – Возвращает индекс данного элемента в кортеже:
some_tuple = (1,2,3,3,3) print(some_tuple.index(1)) #0 print(some_tuple.index(5)) #ValueError
Словарь Python
Словари в Python – это пары ключевых значений. Они определяются с использованием вьющихся скобок, разделяют пары значений ключей с запятой и размещают толстую кишку между ключом и значением:
weekdays = { 1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday', 7: 'Sunday' }
-Кейс в словаре должен быть уникальным (нет двух одинаковых клавиш) -Кейс неизменные -Кейс, а значения могут быть из любого типа данных – Список значений в словаре
Ниже приведены общие методы на словари:
clear () – очищает все ключи и значения в словаре:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } car.clear() print(car) #{}
copy () – делает копию словаря:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.copy() print(x) #{'brand': 'Maserati', 'model': 'Quattroporte'}
FromKeys () – создает пары значений ключей из значений отделения запятой:
keys = ('a', 'e', 'i', 'o', 'u') value = 'vowel' vowels = dict.fromkeys(keys, value) #{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}
get () – получает ключ в объект и возвращает ни одного вместо KeeError, если ключа не существует:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.get('model') print(x) #Quattroporte
items () – Возвращает список кортежей с каждой парой ключей:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.items() print(x) #[('brand', 'Maserati'), ('model', 'Quattroporte')]
keys () – возвращает объект dict_keys, содержащий все ключи в объекте:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.keys() print(x) #(['brand', 'model'])
setDefault () – возвращает значение указанного ключа:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.setdefault('model', 'Ghibli') print(x) #Quattroporte
Update () – Обновите ключи и значения в словаре с другим набором значения ключа:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.update({'color': 'white'}) print(x) #{'brand': 'Maserati', 'model': 'Quattroporte', 'color': 'white'}
values () – возвращает список всех значений в словаре:
car = { 'brand': 'Maserati', 'model': 'Quattroporte' } x = car.values() print(list(x)) #['Maserati', 'Quattroporte']
Набор Python
Набор – это неупорядоченная коллекция объектов в Python. В дополнение к тому, чтобы быть итерационным и изменчивым, наборы не имеют дублирования значений. Они могут быть полезны, если вам нужно отслеживать коллекцию элементов, но не заботится о заказе.
Вот несколько набор методов:
Добавить () – добавляет элемент в набор. Если элемент уже находится в наборе, набор не меняется:
s = {1,2,3} s.add(4) print(s) #{1, 2, 3, 4} s.add(4) print(s) #{1,2,3,4}
clear () – удаляет все элементы набора:
s = {1,2,3} s.clear() print(s) #set()
copy () – создает копию набора:
s = {1,2,3} another_s = s.copy() print(another_s) #{1, 2, 3}
Различия () – возвращает новый набор со всеми элементами, которые находятся в первом наборе, но не в наборе, передаваемом разнице:
set1 = {1,2,3} set2 = {2,3,4} x = set1.difference(set2) print(x) #{1} y = set2.difference(set1) print(y) #{4}
recsection () – возвращает новый набор, содержащий все элементы, которые находятся в обоих наборах:
set1 = {1,2,3} set2 = {2,3,4} x = set1.intersection(set2) print(x) #{2,3}
Союз – возвращает союз из двух наборов:
set1 = {1,2,3} set2 = {2,3,4} x = set1.union(set2) print(x) #{1,2,3,4}
Хорошее понимание структур данных очень важно для разработчиков. Я надеюсь, что эта статья поможет вам понять структуры данных для ваших проектов Python.
Оригинал: “https://dev.to/highflyer910/python-data-structures-lists-tuples-dictionaries-sets-3epc”