6️⃣
любопытных однострочников Python
1️⃣Создание списка из содержимого файла
print([line.strip() for line in open("text.txt")])
2️⃣Получение словаря из списка кортежей и списка с названиями колонок
column_names = ['name', 'salary', 'job']
db_rows = [('Alice', 180000, 'data scientist'),
('Bob', 99000, 'mid-level manager'),
('Frank', 87000, 'CEO')]
db = [dict(zip(column_names, row)) for row in db_rows]
print(db) # ->
'''
[{'name': 'Alice', 'salary': 180000, 'job': 'data scientist'},
{'name': 'Bob', 'salary': 99000, 'job': 'mid-level manager'},
{'name': 'Frank', 'salary': 87000, 'job': 'CEO'}]
'''
3️⃣Вычисление факториала
from functools import reduce
n = 5
print(reduce(lambda x, y: x * y, range(1, n+1)))
4️⃣Алгоритм быстрой сортировки
unsorted = [33, 2, 3, 45, 6, 54, 33]
quick = lambda l: quick([x for x in l[1:] if x <= l[0]]) + [l[0]] + quick([x for x in l if x > l[0]]) if l else []
print(quick(unsorted))
5️⃣Сумма чётных чисел в списке
nums = [1, 2, 3, 4, 5, 6]
sum_even = sum([num for num in nums if num%2 == 0])
print(sum_even)
6️⃣Замена испорченных строк в списке
visitors = ['Firefox', 'corrupted', 'Chrome', 'corrupted',
'Safari', 'corrupted', 'Safari', 'corrupted',
'Chrome', 'corrupted', 'Firefox', 'corrupted']
visitors[1::2] = visitors[::2]
print(visitors) # ->
'''
['Firefox', 'Firefox', 'Chrome', 'Chrome', 'Safari', 'Safari',
'Safari', 'Safari', 'Chrome', 'Chrome', 'Firefox', 'Firefox']
'''
Показати повністю ...