Python 在类对象列表中存储元组值

Python 在类对象列表中存储元组值,python,Python,我有一个从数据库中提取信息的python代码。结果存储在列表中的元组中。我想将元组信息存储在类对象中。由于查询返回的结果不止一个,所以我想使用类对象列表。我不知道如何赋值。以下是片段: #Class class StudentDetails(): def __init__(self, id, Name, Status): self.id= id self.Name= Name self.Status= Status def

我有一个从数据库中提取信息的python代码。结果存储在列表中的元组中。我想将元组信息存储在类对象中。由于查询返回的结果不止一个,所以我想使用类对象列表。我不知道如何赋值。以下是片段:

#Class
class StudentDetails():
    def __init__(self, id, Name, Status):
        self.id= id
        self.Name= Name        
        self.Status= Status

def main():

    results= LinkCursor.fetchall() #databse results
结果是表单列表: [(1,'XYZ','P'),(2,'ABC','P'),(3,'DEF','A'),(4,'MNO','P')]

总之,我想将结果存储在不同的类对象中, Student1=StudentDetails(1,'XYZ','P')
Student2=StudentDetails(2,'ABC','P')

我认为这符合你的问题

class StudentDetails():
    def __init__(self, id=1, Name="manoj", Status="Active"):
        self.id= id
        self.LinkName= Name        
        self.LinkStatus= Status
li = [(1, 'XYZ', 'P'), (2, 'ABC', 'P'), (3, 'DEF', 'A'), (4, 'MNO', 'P')]
list_obj = []
for i in list:
    student_details = StudentDetails()
    student_details.id = i[0]
    student_details.LinkName = i[1]
    student_details.LinkStatus = i[2]
    list_obj.append(student_details)

您可以在实例化
StudentDetails
时迭代元组列表:

l = [(1, 'XYZ', 'P'), (2, 'ABC', 'P'), (3, 'DEF', 'A'), (4, 'MNO', 'P')]
my_students = [StudentDetails(*tup) for tup in l]
my_students
# [<__main__.StudentDetails at 0x7fea5a8259b0>,
#  <__main__.StudentDetails at 0x7fea5a825208>,
#  <__main__.StudentDetails at 0x7fea5a825cf8>,
#  <__main__.StudentDetails at 0x7fea5a825cc0>]

my_students[0].Name
# 'XYZ'

my_students[1].Name
# 'ABC

欢迎来到StackOverflow。请分享您的预期产出。首先,
StuduentDetails
将失败,因为它无法找到
LinkName
LinkStatus
嗨,克里斯,注意到!总之,我希望将结果存储在不同的类对象中,Student1=StudentDetails(1,'XYZ','P')Student1=StudentDetails(2,'ABC','P'),您希望如何存储这些不同的类对象?
list
足够吗?是的,克里斯,class StudentDetailshi Manoj的类对象列表,我想把结果的值存储在class object中这是我的荣幸
d = {"Student%s" %i : StudentDetails(*tup) for i, tup in enumerate(l)}
d['Student1'].Name
# 'XYZ'