tgoop.com/pythonl/4907
Create:
Last Update:
Last Update:
1. Π Π°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΡΠΏΠΈΡΠΊΠΎΠ² Π»ΡΠ±ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Ρ
flatten = lambda lst: [x for sub in lst for x in (flatten(sub) if isinstance(sub, list) else [sub])]
2. ΠΠ΅ΠΊΠΎΡΠ°ΡΠΎΡ Π΄Π»Ρ ΠΌΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ
memoize = lambda f: (lambda *args, _cache={}, **kwargs: _cache.setdefault((args, tuple(kwargs.items())), f(*args, **kwargs)))
3. Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π½Π° ΠΊΡΡΠΊΠΈ Π΄Π»ΠΈΠ½Ρ n
chunked = lambda lst, n: [lst[i:i+n] for i in range(0, len(lst), n)]
4. Π£Π½ΠΈΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ°
uniq = lambda seq: list(dict.fromkeys(seq))
5. ΠΠ»ΡΠ±ΠΎΠΊΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠ°ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ
deep_get = lambda d, *keys: __import__('functools').reduce(lambda a, k: a.get(k) if isinstance(a, dict) else None, keys, d)
6. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Python-ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠΈΡΠ°Π΅ΠΌΡΠΉ JSON
pretty_json = lambda obj: __import__('json').dumps(obj, ensure_ascii=False, indent=2)
7. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ n ΡΡΡΠΎΠΊ ΡΠ°ΠΉΠ»Π° (Π°Π½Π°Π»ΠΎΠ³ tail)
tail = lambda f, n=10: list(__import__('collections').deque(open(f), maxlen=n))
8. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ shell-ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π°
sh = lambda cmd: __import__('subprocess').run(cmd, shell=True, check=True, capture_output=True).stdout.decode().strip()
9. ΠΡΡΡΡΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΉ
path_join = lambda *p: __import__('os').path.join(*p)
10. ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΡΠΏΠΈΡΠΊΠ° ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°
group_by = lambda seq, key: {k: [d for d in seq if d.get(key) == k] for k in set(d.get(key) for d in seq)}
@pythonl