Форум сайта python.su
0
Помогите с сортировкой. Мне надо сделать сортировку по сумме баллов (рус+мат+физ). По имени, фамилиям, дате получается, а вот с баллами чет никак(
# coding=utf8
from datetime import datetime
entrants = [{
‘id’: 1, # Уникальный идентификатор абитуриента
‘last_name’: u'Петров', # Фамилия
‘first_name’: u'Петр', # Имя
‘birth_date’: datetime(1994, 8, 7), # Дата рождения
‘date_of_delivery_of_documents’: datetime(2012, 6, 6), # дата сдачи документов
‘home_address’: u'Taganrog' # место жительста
}, {
‘id’: 2,
‘last_name’: u'Иванов',
‘first_name’: u'Иван',
‘birth_date’: datetime(1995, 7, 5),
‘date_of_delivery_of_documents’: datetime(2012, 6, 6),
‘home_address’: u'Rostov_on_Don'
}, {
‘id’: 3,
‘last_name’: u'Сидоров',
‘first_name’: u'Иван',
‘birth_date’: datetime(1994, 12, 7),
‘date_of_delivery_of_documents’: datetime(2012, 6, 7),
‘home_address’: u'Krasnodar'
}, {
‘id’: 4,
‘last_name’: u'Ковальченко',
‘first_name’: u'Александр',
‘birth_date’: datetime(1995, 4, 10),
‘date_of_delivery_of_documents’: datetime(2012, 6, 8),
‘home_address’: u'Taganrog'
}, {
‘id’: 5,
‘last_name’: u'Тимошенко',
‘first_name’: u'Иван',
‘birth_date’: datetime(1995, 6, 1),
‘date_of_delivery_of_documents’: datetime(2012, 6, 9),
‘home_address’: u'Rostov_on_Don'
}]
subjects = [{
‘id’: 1, # Уникальный идентификатор предмета
‘name’: u'Математика' # Наименование предмета
}, {
‘id’: 2,
‘name’: u'Физика'
}, {
‘id’: 3,
‘name’: u'Русский'
}]
points = {
subjects: {
entrants: 65,
entrants: 78,
entrants: 86,
entrants: 65,
entrants: 72,
},
subjects: {
entrants: 69,
entrants: 72,
entrants: 88,
entrants: 64,
entrants: 65,
},
subjects: {
entrants: 74,
entrants: 81,
entrants: 90,
entrants: 64,
entrants: 76,
}
}
list = sorted(entrants,key= lambda d: d)
print(list)
Офлайн
4
Помнится мне я уже давал тебе решение
Офлайн
0
да, спасибо, но мне бы именно к этому виду (без классов)
Офлайн
4
Ну так и делай без классов, у тебя входные параметры некорректные.
Points вообще неправильный.
Офлайн
4
[{'first_name': 'Petr', 'last_name': 'Petrov', 'home_address': 'Taganrog', 'subjects': {'1': {'points': 94, 'id': '1', 'name': 'Matematic'}, '3': {'points': 81, 'id': '3', 'name': 'Russian lang.'}, '2': {'points': 47, 'id': '2', 'name': 'Physic'}}, 'birth_date': datetime.datetime(1994, 8, 7, 0, 0), 'date_of_delivery_of_documents': datetime.datetime(1994, 8, 7, 0, 0), 'id': 1}, {'first_name': 'Ivan', 'last_name': 'Ivanov', 'home_address': 'Rostov_on_Don', 'subjects': {'1': {'points': 76, 'id': '1', 'name': 'Matematic'}, '3': {'points': 45, 'id': '3', 'name': 'Russian lang.'}, '2': {'points': 99, 'id': '2', 'name': 'Physic'}}, 'birth_date': datetime.datetime(1995, 7, 5, 0, 0), 'date_of_delivery_of_documents': datetime.datetime(1995, 7, 5, 0, 0), 'id': 2}, {'first_name': 'Ivan', 'last_name': 'Sidarov', 'home_address': 'Krasnodar', 'subjects': {'1': {'points': 78, 'id': '1', 'name': 'Matematic'}, '3': {'points': 81, 'id': '3', 'name': 'Russian lang.'}, '2': {'points': 81, 'id': '2', 'name': 'Physic'}}, 'birth_date': datetime.datetime(1994, 12, 7, 0, 0), 'date_of_delivery_of_documents': datetime.datetime(1994, 12, 7, 0, 0), 'id': 3}, {'first_name': 'Aleksandr', 'last_name': 'Petrenko', 'home_address': 'Taganrog', 'subjects': {'1': {'points': 79, 'id': '1', 'name': 'Matematic'}, '3': {'points': 87, 'id': '3', 'name': 'Russian lang.'}, '2': {'points': 92, 'id': '2', 'name': 'Physic'}}, 'birth_date': datetime.datetime(1995, 4, 10, 0, 0), 'date_of_delivery_of_documents': datetime.datetime(1995, 4, 10, 0, 0), 'id': 4}, {'first_name': 'Ivan', 'last_name': 'Timoshenko', 'home_address': 'Rostov_on_Don', 'subjects': {'1': {'points': 50, 'id': '1', 'name': 'Matematic'}, '3': {'points': 83, 'id': '3', 'name': 'Russian lang.'}, '2': {'points': 41, 'id': '2', 'name': 'Physic'}}, 'birth_date': datetime.datetime(1995, 6, 1, 0, 0), 'date_of_delivery_of_documents': datetime.datetime(1995, 6, 1, 0, 0), 'id': 5}]
Отредактировано den4ik (Авг. 21, 2014 01:19:46)
Офлайн