def get_min_value(materials):
return min(m for n in materials for m in n.values())
def filter_materials(materials, min_value):
return [ n for n in materials if all(m >= min_value for m in n.values()) ]
materials_in_stock = filter_materials(materials_in_stock, get_min_value(required_material))
Нужно взять число
\w+
\w+
- это не число. Число - это минус (возможно отсутствует), затем целая часть (цифры), затем дробная часть (точка и цифры, возможно отсутствует).между парой @@
[@@]
@{2}
. Или можно просто два раза нужный символ указать.re.findall(r'(?<=@@)-?\d+(?:\.\d+)?(?=@@)', text)
N = 1000
M = 300
NM = N + M
newArr = sum((arr[i * NM:(i + 1) * NM - M] for i in range(ceil(len(arr) / NM))), [])
separator = 'lot'
item = 'obj'
count = [ n.count(item) for n in s.split(separator)[1:] ]
print(' '.join(f'[{separator} {n} {item}]' for n in count))