1. 程式人生 > 其它 >定義一個結構體陣列

定義一個結構體陣列

定義一個結構體陣列

是什麼?

定義一個結構體陣列,即定義一個結構體數列表。

方法?

即利用建立物件來建立定義一個結構體。

結構如下:

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)的大小進行排序
for i in a: print(i.name,i.sex,i.age,i.score)