Форум сайта python.su
Здравствуйте, имеется текстовой файл примерно со следующим содержанием(имена людей и их любимые блюда):
Петя:морковь
Саша:пицца
Коля:чипсы
Петя:пиво
Саша:пиво
Петя:суп
Саша:салат
Необходимо найти наиболее и наименее встречающуюся еду в списке, а так же имена людей, у которых больше и меньше всего любимых блюд. Спасибо!
Отредактировано infinity.cari (Окт. 10, 2018 12:34:52)
Офлайн
нашел!!!
наиболее и наименее встречающуюся еда в списке ['пицца', 'пиво', 'салат'] ['чипсы'] больше и меньше всего любимых блюд Саша Коля
Отредактировано marvellik (Окт. 10, 2018 19:09:16)
Офлайн
marvellikСпасибо, три дня голову ломал)
нашел!!!
Офлайн
еще бы ваш код посмотреть над чем вы там голову ломали и вы бы уже десяток советов услышали а так вы предложили найти я и нашел, прочтите свой пост и вы не увидите там вопроса а чтоб получить помощь надо хотя бы показать на чём вы зависли
если это вам что то даст в освоении то пожалуйста вот вам решение
dct = {} with open('test.txt') as file: for str_ in file.readlines(): key,val = str_.strip().split(':') dct[key] = dct.get(key,[])+[val] res = sorted(dct.items(),key = lambda x : len(x[1] )) print(f'наиболее и наименее встречающуюся еда в списке\n{res[-1][1]} {res[0][1]}') print(f'больше и меньше всего любимых блюд\n {res[-1][0]} {res[0][0]}')
Отредактировано marvellik (Окт. 10, 2018 20:46:35)
Офлайн