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