Add Python notes

This commit is contained in:
2022-05-06 00:49:26 +03:00
parent 4c0cdb2f71
commit 1863176b39
57 changed files with 1205 additions and 5 deletions

75
python/списки/list.py Executable file
View File

@@ -0,0 +1,75 @@
#В списки можно втроить другие списки
#Индекс первого элемента - 0
lis = [23, 15, 's', ['h', 'e', '1',]]
print(lis)
print(lis[2])
print(lis[3])
print(lis[3][1])
print("\n")
for i in lis:
print(i)
for i in range(0, 4):
lis[i] *= 2
print(lis)
#Добавление элемента в список
lis.append(2011)
print(lis)
#Удаление элемента из списка
#по значению
lis.remove(46)
print(lis)
#по индексу
lis.pop(0)
print(lis)
#Вставка элемента в определённое место
#1 - индекс, 9 - элемент
lis.insert(1, 9)
print(lis)
#Узнать индекс элемента
print(lis.index(9))
#Вывод элементов в конце списка
print("Индекс числа", lis[-1]," = ", lis.index(2011))
#Вывод определённой части списка (Среза) (Старт:финиш:шаг)
print(lis[1:-2:1])
print(lis[2:])
print(lis[2:len(lis)])
#Очистка списка
lis.clear()
print(lis)
#В списки можно вкладывать списки, тем самым создавая матрицы
M = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print('\n', M)
#Генератор, возвращающий суммы элементов строк
G = (sum(elements) for elements in M)
#Вызов в соответствии с протоколом итераций
print(next(G))
print(next(G))
#То же, но по другому
summ = list(map(sum, M))
print(summ)
#Вывод столбца
#Получить элементы row[1] из каждой строки матрицы M исоздать из них новый список
#Здесь переменной row присваивается элемент списка M (который сам является списком), а переменной col2
#присваивается 2 элемент списка row. И так для каждого элемента списка M.
col2 = [row[1] for row in M]
print(col2)
#Генератор списков
doubles = [c * 2 for c in 'spam']
print(doubles)

12
python/списки/tuple.py Executable file
View File

@@ -0,0 +1,12 @@
#Кортежи можно вводить в круглых скобках, без скобок, или словом tuple
a = (23, 16, 'Hi')
print(a)
a = 24, 17, 'qq'
print(a)
a = tuple ('Hello')
print(a)
#В кортежах нельзя менять отдельные символы. Только выводить
print(a[1])

View File

@@ -0,0 +1,38 @@
#Множества создаются при помощи set
#В множествах нет повторяющихся элементов
#Также есть frozenset, он создаёт множества, которые нельзя менять (как кортежи)
a = set('hello')
print(a)
#Множества также можно создать при помощи фигурных скобок, не используя set
a = {'h', 'e', 'l', 'o'}
print(a)
"""
С множествами можно выполнять множество операций: находить объединение, пересечение...
len(s) - число элементов в множестве (размер множества).
x in s - принадлежит ли x множеству s.
set.isdisjoint(other) - истина, если set и other не имеют общих элементов.
set == other - все элементы set принадлежат other, все элементы other принадлежат set.
set.issubset(other) или set <= other - все элементы set принадлежат other.
set.issuperset(other) или set >= other - аналогично.
set.union(other, ...) или set | other | ... - объединение нескольких множеств.
set.intersection(other, ...) или set & other & ... - пересечение.
set.difference(other, ...) или set - other - ... - множество из всех элементов set, не принадлежащие ни одному из other.
set.symmetric_difference(other); set ^ other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.
set.copy() - копия множества.
И операции, непосредственно изменяющие множество:
set.update(other, ...); set |= other | ... - объединение.
set.intersection_update(other, ...); set &= other & ... - пересечение.
set.difference_update(other, ...); set -= other | ... - вычитание.
set.symmetric_difference_update(other); set ^= other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.
set.add(elem) - добавляет элемент в множество.
set.remove(elem) - удаляет элемент из множества. KeyError, если такого элемента не существует.
set.discard(elem) - удаляет элемент, если он находится в множестве.
set.pop() - удаляет первый элемент из множества. Так как множества не упорядочены, нельзя точно сказать, какой элемент будет первым.
set.clear() - очистка множества.
set.sort() - сортировка по возрастанию
set.reverse() - сортировка по убыванию
"""

View File

@@ -0,0 +1,29 @@
#Словари могут вводиться в фигурных скобках
s = {'число': 24, 'надпись': 'inscription'}
print(s['число'])
#.keys и .values возвращают итерируемые объекты. Для получения списков нужно использовать list()
print(list(s.keys()), s.values())
#Могут при помощи dict.
d = dict(lazy="q", hardworking="Greetings")
print(d['lazy'])
#Могут при помощи dictfromkeys. При этом всем ключам присваивается одно значение. Его можно и не указывать
f = dict.fromkeys(['a', 'b', 'c'], 1)
print(f)
#D = dict(zip(keyslist, valslist))
var_zip = dict(zip(['food', 'tool'], ['spam', 'wrench']))
print(var_zip)
#Генератор словарей
D = {k: v for (k, v) in zip(['food', 'tool'], ['SPAM', 'WRENCH'])}
print(D)
#in позволяет проверить наличие ключа в словаре
if not 'd' in f:
print('В словаре f нет элемента с ключём d')
#get возвращает элемент словаря, а если его нет - указанное значение
print(f.get('x', 20))