tgoop.com/pythonl/4923
Create:
Last Update:
Last Update:
🐍 20 реально полезных однострочных функций на Python — для тех, кто пишет в прод
Забудь про [::-1]
и lambda x: x*2
. Вот подборка, где однострочники реально ускоряют работу, убирают лишний код и улучают читаемость кода:
1. 📁 Получить все файлы с расширением .py
рекурсивно
files = list(Path('.').rglob('*.py'))
2. 🧪 Быстрое тестирование скорости любого выражения
timeit(lambda: your_func(), number=1000)
3. 🔎 Показать все публичные методы объекта
[m for m in dir(obj) if not m.startswith('_')]
4. 🧼 Очистить DataFrame от строк с NaN
df_clean = df.dropna()
5. 🔄 Быстрое многопоточное выполнение функций
list(ThreadPoolExecutor().map(func, iterable))
6. 🗜️ Получить частоты значений в списке
dict(Counter(my_list))
7. 🔍 Найти дубликаты в списке
dups = [x for x, c in Counter(lst).items() if c > 1]
8. 📦 Сжать список без
None
filtered = list(filter(None, data))
9. 🕵️♂️ Ловить и логировать все исключения в одном выражении
try: foo() except Exception as e: logging.exception(e)
10. 📊 Преобразовать список словарей в DataFrame
pd.DataFrame(list_of_dicts)
11. 🔄 Инвертировать словарь с проверкой на коллизии
inv = {v: k for k, v in d.items() if list(d.values()).count(v) == 1}
12. ⏳ Простой таймер
start = time(); result = fn(); print(f'{time() - start:.2f}s')
13. 🔢 Перемешать и взять подмножество
sample = random.sample(big_list, k=100)
14. 🧠 Получить максимальный элемент по ключу
max(data, key=lambda x: x.score)
15. 📐 Убрать отступ у многострочной строки
dedented = textwrap.dedent(multiline_string)
16. 🛠️ Простой retry без библиотек
[func() for _ in range(5) if not success()][-1]
17. 📚 Преобразовать JSON-файл в объект
data = json.loads(Path('file.json').read_text())
18. 🧮 Быстрая нормализация NumPy-вектора
v /= np.linalg.norm(v)
19. 🧾 Отобразить все переменные окружения, отсортированные по имени
print('\n'.join(f'{k}={v}' for k, v in sorted(os.environ.items())))
20. 🔄 Преобразовать словарь в query string
query = urlencode(params)
@pythonl
BY Python/ django
Share with your friend now:
tgoop.com/pythonl/4923