Полезные советы по Python, часть 2 | OTUS

Полезные советы по Python, часть 2

Python_Deep_21.4-5020-b7f3c2.png

В предыдущей заметке мы демонстрировали полезные кусочки кода, которые могут существенно сэкономить вам время при программировании на Python. Продолжаем!

1. Получение словаря:

"""returning None or default value, when key is not in dict"""
d =  1, 'b': 2}

print(d.get('c', 3))

2. Сортировка словаря по значению:

"""Sort a dictionary by its values with the built-in sorted() function and a 'key' argument."""

d = {'apple': 10, 'orange': 20, 'banana': 5, 'rotten tomato': 1}
print(sorted(d.items(), key.lambda x: 41)))


"""Sort using operator.itemgetter as the sort key instead of a lambda"""


from operator import itemgetter


print(sorted(doitems(), key.itemgetter(1)))


"""Sort dint keys by value"""


print(sorted(d, key=d.get))

3. Преобразуем список:

"""converts list to comma separated string"""

items = ['foo', 'bar', 'xyz']

print (','.join(items))

"""list of numbers to comma separated"""
numbers = [2, 3, 5, 10]

print (','.join(map(str, numbers)))

"""list of mix data"""
data = [2, 'hello', 3, 3.4]

print (','.join(map(str, data)))

4. Слияние диктов:

"""merge dict's"""

D1   {'a': 1}
d2 = {'b': 2}

# python 3.5
print({**d1, **d2})

print(dict(d1.items() | d2.items()))

d1.update(d2)
print(d1)

5. Находим минимальный и максимальный индекс в списке:

"""Find Index of Min/Max Element."""

1st = [40, 10, 20, 30]


def minIndex(lst):
  return min(range(len(lst)), key=lst.__getitem__)


def maxlndex(lst):
  return max(range(len(lst)), key=lst.__getitem__)

print(minIndex(lst))
print(maxIndex(lst))

6. Удаляем дубликаты из списка:

  """remove duplicate items from list. note: does not preserve the original list order"""

  items = [2, 2, 3, 3, 1]

  newitems2 = list(set(items))
  print(newitems2)

  """remove dups and keep order"""

  from collections import OrderedDict

  items = rfoo", "bar", "bar", "fool

  print(list(OrderedDict.fromkeys(items).keys()))

7. И кое-что для else:

"""else gets called when for loop does not reach break statement"""
a = [1, 2, 3, 4, 5]
for el in a:
 if el == 0:
   break
else:
 print('did not break out of for loop')

Большинство трюков и советов взято из PyTricks и различных блогов. Первоисточник находится здесь.

На этом пока всё. Если хотите узнать больше, записывайтесь на курс «Разработчик Python». И оставляйте свои комментарии!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто