定义一个结构体数组

定义一个结构体数组

是什么?

定义一个结构体数组,即定义一个结构体数列表。

方法?

即利用创建对象来创建定义一个结构体。

结构如下:

class 对象名:
  def __init__(self,变量名1,变量名2,变量名3,......): #用红色标记的东西是一个python中创建对象的一个标识符,不可改变。其中下标线是由两个('_')构成的
    self.变量名1=变量名1
       self.变量名2=变量名2
       self.变量名3=变量名3
       .....

 

例如,创建一个学生信息结构体代码如下:

class student:
  def __init__(self,name,sex,age,score): #用红色标记的东西是一个python中创建对象的一个标识符,不可改变。其中下标线是由两个('_')构成的     self.name=name
    self.sex
=sex     self.age=age
    self.score
=score

怎样进行使用?

例如,上述创建一个学生信息的结构体,再根据题目要求将内容通过键盘输入到结构体类型的列表中。代码如下:

class student: #创建一个学生信息的结构体
  def __init__(self,name,sex,age,score): 
    self.name=name
    self.sex=sex
    self.age=age
    self.score=score
n=int(input()) #n表示输入几个学生的信息情况
l=[] #l表示为学生信息结构体列表
for i in range(n): #从键盘中输入n个符合学生的信息结构体的数据
        s=input().split(' ') #表示一个学生的信息是通过空格隔开
        l.append(student(s[0],s[1],s[2],s[3]))#分别将一位学生的信息数据存入到l结构体列表中
a=sorted(l,key=lambda x:x.score) #将l结构体列表的内容进行排序,按照成绩(score)的大小进行排序。key=lambda x:x.score表示为该结构体列表以score分数大小来进行排序
l.sort(key=lambda x:x.score)
for i in a:
  print(i.name,i.sex,i.age,i.score)

 

posted @ 2022-03-27 23:04  天空之城—我的理想国  阅读(287)  评论(0编辑  收藏  举报