[英]How do I create objects from lists?
假設我有兩個列表,第一個名為 studentName
studentName = ["Jack","Simon","John","Matthew"]
第二個被命名為studentGrade
studentGrade = [100,88,74,94]
我還有一個名為“學生”的 class
class Students():
def __init__(self,name,grade):
self.name = name
self.grade = grade
如何在不使用以下常用方法的情況下創建對象:
Jack = Students("Jack",100)
我想做同樣的事情,但不必輸入 4 行。 相反,我想在列表中使用循環。 這可能嗎?
您可以使用zip
一次迭代兩個列表; 我還建議您將 class Student
命名為單數,因為它僅代表一個人,而不是多個
studentName = ["Jack", "Simon", "John", "Matthew"]
studentGrade = [100, 88, 74, 94]
students = [Student(n, g) for n, g in zip(studentName, studentGrade)]
添加一個__repr__
就可以看到結果了
class Students():
def __init__(self, name, grade):
self.name = name
self.grade = grade
def __repr__(self):
return f"{self.name}:{self.grade}"
if __name__ == '__main__':
studentName = ["Jack", "Simon", "John", "Matthew"]
studentGrade = [100, 88, 74, 94]
students = [Students(n, g) for n, g in zip(studentName, studentGrade)]
print(students) # [Jack:100, Simon:88, John:74, Matthew:94]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.