Вы можете создать словарь и установить ключ в качестве диапазона, например, если вы хотите, чтобы диапазон 0-1, ключ dict был 1, диапазон 4-5, ключ dict будет 5 et c. Таким образом, мы можем создать функцию, которая будет группировать студентов с определенной скоростью:
import math
l = [['Xzavier Kaska', 1.04], ['Brent Barnaby', 1.13], ['Alena Holoien', 1.37],
['Sam Surey', 1.37], ['Kash Nocella', 1.55], ['Ezequiel Gerraughty', 1.57],
['Myah Linsley', 1.74], ['Jaelynn Dzur', 1.79], ['Alfredo Andrew', 1.83],
['Skylar Movius', 1.95], ['Raphael Nocella', 2.14], ['Alondra Wallace', 2.2],
['Clark Loomis', 2.3], ['Skylar Cvek', 2.36], ['Carson Racugno', 2.52],
['Kathy Viveros-aguilera', 2.62], ['Heaven Barnaby', 2.75],
['Rebekah\tSpartichino', 3.24], ['Semaj Abernathy', 3.35], ['Rylee Dalton', 3.38],
['Sterling Grove', 3.46], ['Rebekah Ghosh', 3.85]]
def group(l : list):
"""
Group list students by their gpa with pace 1
:param l: input list of students and gpa's
:return: dictionary, where key is range: (key-1, key)
ex. if you want to get list of students with gpa 1 : d[1]
"""
d = {}
i = 0
for student, gpa in l:
index = math.ceil(gpa) - 1
if index < 1: index = 1
if index not in d.keys():
d[index] = [[student, gpa]]
else:
d[index].append([student, gpa])
i += 1
return d
d = group(l)
# checking:
for i in group(l):
print(f'range : {i-1} to {i}, list : {d[i]}')
# output will be:
# range : 0 to 1, list : [['Xzavier Kaska', 1.04], ['Brent Barnaby', 1.13], ['Alena Holoien', 1.37], ['Sam Surey', 1.37], ['Kash Nocella', 1.55], ['Ezequiel Gerraughty', 1.57], ['Myah Linsley', 1.74], ['Jaelynn Dzur', 1.79], ['Alfredo Andrew', 1.83], ['Skylar Movius', 1.95]]
# range : 1 to 2, list : [['Raphael Nocella', 2.14], ['Alondra Wallace', 2.2], ['Clark Loomis', 2.3], ['Skylar Cvek', 2.36], ['Carson Racugno', 2.52], ['Kathy Viveros-aguilera', 2.62], ['Heaven Barnaby', 2.75]]
# range : 2 to 3, list : [['Rebekah\tSpartichino', 3.24], ['Semaj Abernathy', 3.35], ['Rylee Dalton', 3.38], ['Sterling Grove', 3.46], ['Rebekah Ghosh', 3.85]]
Используя диктовки, вы можете проверить количество студентов в определенной группе, если группа не пуста:
if 4 in d.keys():
print(len(d[4]))
else:
print('No students in such a group')