from itertools import chain
def flatten(seq):
try:
yield from chain.from_iterable(flatten(x) for x in seq if x is not None)
except TypeError:
yield seq
flat_list = list(flatten(lst))
Вместо try/except можно использовать проверку hasattr(seq, '__iter__').def flatten(seq):
try:
yield from chain(*map(flatten, seq))
except TypeError:
yield seq
import pandas as pd
src = [
{'category': 'software', 'name': 'irssi', 'version': 5},
{'category': 'software', 'name': 'irssi', 'version': 4},
{'category': 'software', 'name': 'hexchat', 'version': 2},
{'category': 'software', 'name': 'hexchat', 'version': 3},
{'category': 'software', 'name': 'hexchat1', 'version': 1}
]
dst = (
pd.DataFrame(src)
.sort_values('version')
.drop_duplicates(['category', 'name'])
.to_dict('records')
)
import numpy as np
lst = [[1, 2], [3, 4], [5, 6]]
# Способ 1
list(map(sum, zip(*lst)))
# Способ 2
np.array(lst).sum(axis=0)
import requests
url = 'https://oeis.org/A000040/a000040.txt'
txt = 'Birds are animal with feathers. Because they can fly, they are the fastest animals on Earth'
def is_prime(number, primes={*requests.get(url).text.split()[1::2]}):
return str(number) in primes
for index, char in enumerate(txt, 1):
if is_prime(index):
print(char, end=' ')
import re
def simplify(expr):
match = re.match('^(.*?)(\()(.*)(\))(.*?)$', expr)
if match:
parts = list(match.groups())
parts[2] = simplify(parts[2])
simplified = ''.join(parts[::2])
if eval(simplified) == eval(expr):
return simplified
return ''.join(parts)
return expr
print(simplify('((((((((12+24)-56)*29)/52)+29)*90)/12)/62)'))
((12+24-56)*29/52+29)*90/12/62
import numpy as np
image = np.zeros((50, 100, 3), np.uint8) # чёрное
image = np.ones((50, 100, 3), np.uint8) * 255 # белое
subsets = [
'[~!@#$%^&*()_+{}":;\']+$',
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'абвгдеёжзийклмнопрстуфхцчшщъыьэюя',
'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
]
def password_is_strong(password, min_length=0):
return len(password) >= min_length and all(map(set(password).intersection, subsets))
print(password_is_strong('Питон!=Delphi', 8))