получить имя студента из матрицы - PullRequest
0 голосов
/ 17 января 2019

Я изучаю Python и работаю над заданием, чтобы получить новый список имен учеников из списка student_grades, который представлен в форме матрицы.

Мне удалось получить его до того момента, когда я получил имя из списка, но не могу понять, как завершить цикл, чтобы он перебирал все имена в матрице. Спасибо.

student_grades = [
    ['Student', 'Exam 1', 'Exam 2', 'Exam 3'],
    ['Jane', '100', '90', '80'],
    ['Susan', '88', '99', '111'],
    ['Dick', '45', '56', '67']
]
student_list = []
for names in student_grades:
    #print(names)
    student_list.append(student_grades[1][0])

print(student_list)

['Jane', 'Jane', 'Jane', 'Jane']

Ответы [ 3 ]

0 голосов
/ 17 января 2019

Вам нужно получить индекс

student_list = []
for idx in range(len(student_grades)):
    student_list.append(student_grades[idx][0])

print(student_list)#['Student', 'Jane', 'Susan', 'Dick']
0 голосов
/ 17 января 2019

Знаете ли вы, что такое вложенные циклы?

если не продолжить ->

сначала вложенный цикл - это цикл внутри цикла, поэтому первый цикл будет проходить по каждому списку в списке списков, затем второй цикл внутри первого цикла будет проходить по каждому объекту в этом списке (оценка экзамена).

например:

lst = [['Jane', 100, 90, 80], ['Susan', '88', '99', '111'], ['Dick', 46, 56, 67]]
std_lst = []
for i in lst:
   # i is the list now like (['Jane', 100, 90, 80])
   std_lst.append(i[0])

# std_lst = ['Jane', 'Susan', 'Dick']
0 голосов
/ 17 января 2019
student_list.append[names[0]]

Проблема в том, что в настоящее время вы получаете один и тот же элемент списка на каждой итерации, независимо от итерации.

Кроме того, нет никакой реальной причины вставлять заголовки столбцов в свой журнал оценок - пусть это будет дополнительная деталь print при печати данных в этом конкретном формате.

student_grades = [
    ['Jane', '100', '90', '80'],
    ['Susan', '88', '99', '111'],
    ['Dick', '45', '56', '67']
]
student_list = []
for names in student_grades:
    student_list.append(names[0])

print(student_list)

Выход:

['Jane', 'Susan', 'Dick']

Наконец, я ожидаю, что вы захотите хранить результаты в виде целых чисел, а не строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...