У меня есть json-файл с определенным форматом вывода.Нужна помощь в сортировке похожих значений в словаре на одном
{
"courses": [
{
"professors": [
{
"first_name": "Zvezdelina",
"last_name": "Stankova",
"professor_url": "http://www.ratemyprofessors.com/ShowRatings.jsp?tid=375269",
"helpfullness": 4.3,
"clarity": 4.3,
"overall_rating": 4.3
}
],
"course_name": "CHEM 1",
"course_mentioned_times": 37
},
{
"professors": [
{
"first_name": "Alan",
"last_name": "Shabel",
"professor_url": "http://www.ratemyprofessors.com/ShowRatings.jsp?tid=1309831",
"helpfullness": 3.9,
"clarity": 3.5,
"overall_rating": 3.7
}
],
"course_name": "CHEMISTRY 5467",
"course_mentioned_times": 32
},
{
"professors": [
{
"first_name": "Kurt",
"last_name": "Spreyer",
"professor_url": "http://www.ratemyprofessors.com/ShowRatings.jsp?tid=706268",
"helpfullness": 3.8,
"clarity": 3.6,
"overall_rating": 3.7
}
],
"course_name": "ESPM 50",
"course_mentioned_times": 18
},
{
"professors": [
{
"first_name": "Kurt",
"last_name": "Spreyer",
"professor_url": "http://www.ratemyprofessors.com/ShowRatings.jsp?tid=706268",
"helpfullness": 3.8,
"clarity": 3.6,
"overall_rating": 3.7
}
],
"course_name": "ESPM 56",
"course_mentioned_times": 17
}
]
}
Как показано на выходе, например, у нас есть в общей сложности четыре ['course_name']. Это «CHEM 1», «CHEMISTRY 5467», «ESPM 56», «ESPM 50» с «course_mentioned_times». Так что я не получаю, так это, как мне пройти через весь мой ключ classes_name в моем json-файле. Возьмите МОСТ упомянутые курсы из каждого класса, например, в этом случае. Я бы хотел просто CHEM 1 и его атрибуты, потому что он упоминается в 56 раз явно больше, чем CHEMISTRY 5476, и я бы хотел ESPM 50, потому что упоминается в 18 раз больше, чем ESPM 56, о котором упоминается только 17 раз. Поэтому я хотел бы, чтобы мой вывод имел эти 2 класса со всеми их атрибутами. Сравнение должно выполняться первыми буквами, пропускающими только целое число, например CHEM и CHEMISTRY, однако в моем представлении мне бы хотелось получить полное имя, а не только префиксы.
Извините. Мой вопрос в том, что. У меня есть ключ, называемый «курсы», значение которого является классом. Поэтому в моем json-файле у меня есть несколько названий курсов и сколько раз они упоминались. «course_name»: «CHEMISTRY 5467», «course_mentioned_times»: 32 У меня есть несколько курсов, таких как CHEM 452, CHEMISTRY 1234, CHEM 7634. Я бы хотел сравнить «CHEM», CHEMISTRY и CHEM. Все они одинаковые. Итак, что я хочу сделать, просто добавьте наибольшее количество «упомянутых слов» в мой массив и все его атрибуты, такие как профессора и т. Д. – Benji
например: в коде, который вы дали, CHEM 1 и CHEMISTRY 5467 - это то же самое? и вы хотите просто добавить значение курса с высшим курсом, указанным в массиве, который в этом случае будет CHEM 1 с 37 видами. и удалить ХИМИЯ 5467. Я прав? –
Точно !. Так что, как мы видим, есть ли у них одни и те же курсы, нет, сравнивая «CHEM» и «CHEMISTRY». Если письмо такое же или выглядит одинаково. Затем просто добавьте наивысшие виды и удалите другой. – Benji