从矩阵中获取学生姓名

时间:2019-01-16 22:09:31

标签: python list

我正在学习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 :(得分:0)

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']

最后,我希望您将分数保持为整数,而不是字符串。

答案 1 :(得分:0)

您需要获取索引

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

print(student_list)#['Student', 'Jane', 'Susan', 'Dick']

答案 2 :(得分:0)

您知道什么是嵌套循环吗?

如果不继续->

第一个嵌套循环是一个循环内的一个循环,因此第一个循环将遍历列表列表中的每个列表,然后第一个循环内的第二个循环将遍历该列表中的每个对象(检查分数)。

例如:

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']