s1 = 'a\u00f1' s2 = 'an\u0303' print(s1) # añ print(s2) # añ print(s1 == s2) # FalseТо есть имеются две строки, которые дают одинаковый вывод, но при это не равны друг другу. Как их правильно сравнить?
Задачи по питону и машинному обучению: алгоритмы, функции, классы, регулярные выражения, итераторы, генераторы, ООП, исключения, numpy, pandas, matplotlib, scikit-learn, TensorFlow и др. #Python #ml
s1 = 'a\u00f1' s2 = 'an\u0303' print(s1) # añ print(s2) # añ print(s1 == s2) # FalseТо есть имеются две строки, которые дают одинаковый вывод, но при это не равны друг другу. Как их правильно сравнить?
import re s = "a x \n x a" p1 = re.compile(r"a.*?a") p2 = re.compile(r"a.*?a", re.DOTALL) r1 = p1.findall(s) r2 = p2.findall(s) print(len(r1), len(r2))
import re s = "<span>1</span><b>2</b>" p1 = re.compile(r"(<\w+>.*</\w+>)") p2 = re.compile(r"(<\w+>.*?</\w+>)") x1 = p1.findall(s) x2 = p2.findall(s) print(len(x1), len(x2))
import re
expr = "a + A"
p = re.compile(r'a', flags=re.IGNORECASE)
g = lambda t, mt: t.upper() if mt.isupper() else t.lower()
f = lambda text: lambda m: g(text, m.group())
r = p.sub(f('b'), expr)
print(r)import re
expr = 'x = 3; y = x**2; print(y)'
p = re.compile(r'\*\*(\d+)')
f = lambda m: f'^{int(m.group(1)) + 1}'
r = p.sub(f, expr)
exec(r)import re p = re.compile(r'(\d+)\*(\d+)') expr = "2*3 + 4*5" x, n = p.subn(r'\2 - \1', expr) print(eval(x), n)
import re p = re.compile(r'(\d+)\+(\d+)\-(\d+)') expr = '2+10-5' x = p.sub(r'\1*\2/\3', expr) print(eval(x))
import re d = "x\d" t = "xx97"
import re
d = re.compile('(\d+)/(\d+)')
text = '05/06 and 07/08'
x = d.match(text).group(0)
y = d.match(text).groups()[0]
print(x == y)from sklearn.linear_model import LinearRegression import numpy as np y = np.array([0, 2, 4]) n = len(y) X = np.arange(n).reshape((n, 1)) model = LinearRegression() model.fit(X, y) p = model.predict([[3], [4]]) print(*(round(x) for x in p))
from fnmatch import fnmatchcase
l = [f'{b}{a}' for a in range(20) for b in ['x', 'y']]
r = [x for x in l if fnmatchcase(x, 'x*0')]
print(*r)from fnmatch import fnmatch n = "foo2022.txt" x = fnmatch(n, "foo[0-9]*") y = fnmatch(n, "foo[0-9]+") print(x, y)
import re line = "a+b" x = re.split(r"(\+)", line) y = re.split(r"\+", line) z = re.split(r"(?:\+)", line) p = set(x) - set(y) | set(z) print(len(p))