我正在学习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']
答案 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']