PythonBoost - сообщество питонистов
12K subscribers
295 photos
6 videos
548 links
Лучший Python телеграм канал для новичков.

Цель: подготовка студентов, начинающих питонистов к нахождению первой работы.

@anothertechrock

РКН: https://kurl.ru/Jhcwp
加入频道
Трюк дня. Словарный метод get() и его аргументы

Когда вы вызываете метод get(), он проверяет, есть ли в словаре указанный ключ.

Если ключ есть, возвращается его значение.

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

name_for_userid = {
382: "Alice",
590: "Bob",
951: "Dilbert",
}

def greeting(userid):
return f'Hi {name_for_userid.get(userid, "there")}!'

>>> greeting(382)
"Hi Alice!"

>>> greeting(333333)
"Hi there!"

#tips #tricks
Трюк дня. List Comprehension

vals = [expression
for value in collection
if condition]

Это то же самое, что и

vals = []
for value in collection:
if condition:
vals.append(expression)

Пример:

>>> even_squares = [x * x for x in range(10) if not x % 2]
>>> even_squares
[0, 4, 16, 36, 64]

#tips #tricks
Трюк дня. Сортировка словаря Python по значению

>>> xs = {'a': 4, 'b': 3, 'c': 2, 'd': 1}

>>> sorted(xs.items(), key=lambda x: x[1])
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]

Или:

>>> import operator
>>> sorted(xs.items(), key=operator.itemgetter(1))
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]

#tips #tricks
Трюк дня. Разница между is и ==

Выражение с "is" дает результат True, если две переменные указывают на один и тот же объект. Выражение с "==" дает результат True, если объекты, на которые ссылаются переменные, равны.

>>> a = [1, 2, 3]
>>> b = a

>>> a is b
True
>>> a == b
True

>>> c = list(a)

>>> a == c
True
>>> a is c
False

#tips #tricks