定義一個結構體陣列
阿新 • • 發佈:2022-03-27
定義一個結構體陣列
是什麼?
定義一個結構體陣列,即定義一個結構體數列表。
方法?
即利用建立物件來建立定義一個結構體。
結構如下:
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)