Add Python notes
This commit is contained in:
75
python/списки/list.py
Executable file
75
python/списки/list.py
Executable 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
12
python/списки/tuple.py
Executable 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])
|
||||
38
python/списки/множества.py
Executable file
38
python/списки/множества.py
Executable 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() - сортировка по убыванию
|
||||
"""
|
||||
29
python/списки/словарь.py
Executable file
29
python/списки/словарь.py
Executable 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))
|
||||
Reference in New Issue
Block a user