<jupyter_start><jupyter_text>**Задание 1**. Дан список с визитами по городам и странам. Напишите код, который возвращает отфильтрованный список geo_logs, содержащий только визиты из России.<jupyter_code>geo_logs = [
    {'visit1': ['Москва', 'Россия']},
    {'visit2': ['Дели', 'Индия']},
    {'visit3': ['Владимир', 'Россия']},
    {'visit4': ['Лиссабон', 'Португалия']},
    {'visit5': ['Париж', 'Франция']},
    {'visit6': ['Лиссабон', 'Португалия']},
    {'visit7': ['Тула', 'Россия']},
    {'visit8': ['Тула', 'Россия']},
    {'visit9': ['Курск', 'Россия']},
    {'visit10': ['Архангельск', 'Россия']}
]
#filtered_geo_logs = []
#for visit in geo_logs:
#    for key, value in visit.items():
#        if (value[1]=="Россия"):
#            filtered_geo_logs.append(visit)
#print(filtered_geo_logs)

for i  in range(len(geo_logs)-1, -1, -1):
    for value in geo_logs[i].values():
        if (value[1]!="Россия"):
            geo_logs.pop(i)
print(geo_logs)<jupyter_output>[{'visit1': ['Москва', 'Россия']}, {'visit3': ['Владимир', 'Россия']}, {'visit7': ['Тула', 'Россия']}, {'visit8': ['Тула', 'Россия']}, {'visit9': ['Курск', 'Россия']}, {'visit10': ['Архангельск', 'Россия']}]<jupyter_text>**Задание 2**. Выведите на экран все уникальные гео-ID из значений словаря ids. Т. е. список вида [213, 15, 54, 119, 98, 35]<jupyter_code>ids = {'user1': [213, 213, 213, 15, 213], 
       'user2': [54, 54, 119, 119, 119], 
       'user3': [213, 98, 98, 35]}
unique_numbers = []
for value in ids.values():
    for number in value:
        if number not in unique_numbers:
            unique_numbers.append(number)
print(unique_numbers)<jupyter_output>[213, 15, 54, 119, 98, 35]<jupyter_text>**Задание 3**. Дан список поисковых запросов. Получить распределение количества слов в них. Т. е. поисковых запросов из одного - слова 5%, из двух - 7%, из трех - 3% и т.д.<jupyter_code>queries = [
    'смотреть сериалы онлайн',
    'новости спорта',
    'афиша кино',
    'курс доллара',
    'сериалы этим летом',
    'курс по питону',
    'сериалы про спорт',
]
words = {}
for line in queries:
    length = len(line.split())
    if words.__contains__(length) == False:
        words[length] = 0
    words[length] = words[length] + 1
sum = 0
for value in words.values():
    sum+= value
for key, value in words.items():
    print(key, value/sum*100)<jupyter_output>3 57.14285714285714
2 42.857142857142854<jupyter_text>**Задание 4**. Дана статистика рекламных каналов по объемам продаж. Напишите скрипт, который возвращает название канала с максимальным объемом.Т. е. в данном примере скрипт должен возвращать 'yandex'.<jupyter_code>stats = {'facebook': 55, 'yandex': 120, 'vk': 115, 'google': 99, 'email': 42, 'ok': 98}
max_key= ''
for key in stats.keys():
	if stats[key]> stats.get(max_key,0):
		max_key = key
print(max_key)<jupyter_output>yandex<jupyter_text>**Задание 5**. Напишите код для преобразования произвольного списка вида ['2018-01-01', 'yandex', 'cpc', 100] (он может быть любой длины) в словарь {'2018-01-01': {'yandex': {'cpc': 100}}}<jupyter_code>List = ['2018-01-01', 'yandex', 'cpc', 100]
Dict = List[-1]
n = len(List) + 1
{ Dict: {i : Dict} for i in List[-2:-n:-1]} 
Dict = List[-1]
for i in List[-2:-n:-1]:
    Dict = {i : Dict}
Dict
List = ['2018-01-01', 'yandex', 'cpc', 100]
Dict = {List[-2]: List[-1]}
for elem in List[:-2][::-1]:
    Dict = {elem: Dict}
print(Dict)<jupyter_output>{'2018-01-01': {'yandex': {'cpc': 100}}}
{'fraction_non_alphanumeric': 0.1945819982522575, 'fraction_numerical': 0.06408389163996504, 'mean_word_length': 4.283076923076923, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '96881', 'license': 'MIT', 'n_tokens_mistral': 1631, 'n_tokens_neox': 1534, 'n_words': 350, 'path': 'datatypes_cycles_hw2.ipynb', 'repo_name': 'CherryRocket/Khramov_python_lab2', 'size': '3433'}