Python basics Flashcards
Сортировка списка
Python
for color in sorted(colors): print color
for color in sorted(colors, reverse=True): print color
Вернуть список в обратном порядке
Python
The reversed() function returns a reversed iterator object.
Сортировка по ключу
Python
print sorted(colors, key=len)
for loop по двум спискам
Python
for name, color in zip(names, colors): print name, '-->', color
Faster: izip
Цикл по ключам словаря
Python
d = { "first": 1, "second": 2, "third": 3 }
for k in d: print(k)
Альтернатива, когда нужно мутировать список например (т.к. d.keys() создаёт копию ключей и хранит их отдельном списке - мы не мутируем словарь напрямую):
for k in d.keys(): if k.startswith('r'): del d[k]
Можно ли мутировать итеруемый объект по которому проходит итерация? (Удалять элементы, добавлять и т.д.)
Python
Нельзя
Цикл по ключам и значениям словаря
Python
for key, value in d.items(): print key, '-->', value
Более лучшая альтернатива
for key, value in d.iteritems(): print key, value
Составить словарь из парных списков
Python
names = ['raymond', 'rachel', 'matthew'] colors = ['red', 'green', 'blue'] d = dict(izip(names, colors)) {'matthew': 'blue', 'rachel': 'green', 'raymond': 'red'
Подсчёт со словарями
Python
colors = ['red', 'green', 'red', 'blue', 'green', 'red'] d = {} for color in colors: if color not in d: d[color] = 0 d[color] += 1 {'blue': 1, 'green': 2, 'red': 3}
Альтернатива:
d = {} for color in colors: d[color] = d.get(color, 0) +1
Альтернатива:
d = defaultdict(int) for color in colors: d[color] += 1
Сумма всех значений в списке
Python
a = (1, 2, 3, 4, 5) x = sum(a)
Syntax
sum(iterable, start)
Parameter Values
* iterable - Required. The sequence to sum
* start - Optional. A value that is added to the return value
Найти максимальное значение в списке
Python
max()
Найти минимальное значение в списке
Python
min()
Возвести значение в степень
Python
pow(4, 3) - 4 в степени 3
Syntax
pow(x, y, z)
Parameter Values
* x A number, the base
* y A number, the exponent
* z Optional. A number, the modulus
Найти абсолютное значение (преобразование отрицательного в положительное)
Python
abs()
abs(-7.25) = 7.25
Округлить значение
Python
round()