hw 2 & 3

female_names = (
    'Елена', 'Анна', 'Татьяна',
    ...
)

def make_stat(filename):
    stat = {}
    ...
    if bool(female_names.__contains__(name)):
        if bool(stat.__contains__(name)):
            stat[name] += 1
        else:
            stat[name] = 1

__contains__ -> in

лишний bool

tuple -> set

dict -> defaultdict

FEMALE_NAMES = {
    'Елена', 'Анна', 'Татьяна',
    ...
}

def make_stat(filename):
    stat = defaultdict(int)
    ...
    if name in female_names:
        stat[name] += 1
bool_male = set("ая").__contains__(
    inp[-1]) is False and gender is False \
           and first_check is False and inp != "Любовь"
bool_male = (
    set("ая").__contains__(inp[-1]) is False
    and gender is False
    and first_check is False
    and inp != "Любовь"
)
bool_male = (
    inp[-1] not in set("ая")
    and ...
)
bool_male = (
    inp[-1] not in "ая"
    and ...
)
%timeit e in set("aя")
%timeit e in {"a", "я"}
%timeit e in "aя"
153 ns ± 1.29 ns per loop ...
24.4 ns ± 0.482 ns per loop ...
29.2 ns ± 0.242 ns per loop ...
def fix_name(name):
    if name == "Артем":
        name = "Артём"
    elif name == "Федор":
        name = "Фёдор"
    elif name == "Алена":
        name = "Алёна"
    return name
def fix_name(name):
    return name.replace('ё', 'е')
def fix_name(name):
    return {
        "Артем": "Артём",
        "Федор": "Фёдор",
        "Алена": "Алёна",
    }.get(name, name)
class Parser(object):
    ...
if name not in not_female_names:
    ...
for item in years:
    if item[0].isdigit():
        stat[item] = {'male': [], 'female': []}
        y = item
    else:
        if item.split()[1] in male_names:
            stat[y]['male'].append(item)
        else:
            stat[y]['female'].append(item)
def get_links(page):
    link_rex = re.compile(
        r"[\"']/wiki/([^#:]+?)[\"'].*?"
    )
    return link_rex.findall(page)


def main():
    ...
    for p in pages:
        links = get_links(p)
        ...
LINK_REX = re.compile(
    r"[\"']/wiki/([^#:]+?)[\"'].*?"
)

def get_links(page):
    return LINK_REX.findall(page)

06 hw

By persi

06 hw

  • 100