我有一个python代码,可从数据库中提取信息。结果存储在列表中的元组中。我想将元组信息存储在一个类对象中。由于查询返回了多个结果,因此我想使用Object类的List。我不知道如何分配价值。以下是代码段:
if (rest==0) display --> { headerText: 'Finish', template: '<a class="btn btn-sucess" >Finish</a>'
Else display --> { headerText: 'In progress', template: '<a class="btn btn-danger" >In progress</a>'
结果为表单列表: [(1,'XYZ','P'),(2,'ABC','P'),(3,'DEF','A'),(4,'MNO','P')] < / p>
在摘要中,我想将结果存储在不同的Class对象中, Student1 = StudentDetails(1,'XYZ','P') Student2 = StudentDetails(2,'ABC','P')
答案 0 :(得分:1)
您可以在实例化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
或者您可以使用dict
:
d = {"Student%s" %i : StudentDetails(*tup) for i, tup in enumerate(l)}
d['Student1'].Name
# 'XYZ'
答案 1 :(得分:0)
我认为这符合您的问题。
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)