1 回答

TA貢獻1735條經驗 獲得超5個贊
您可以將它們全部存儲在字典中,并以數據類型作為鍵,而不是為每個列表設置單獨的屬性。然后你就可以有一個 get 方法來訪問它。
class Something():
? ? def __init__(self):
? ? ? ? self.list_dict = {}
? ? def add_data(self, data_type: Type, data_value: int):
? ? ? ? try:
? ? ? ? ? ? self.list_dict[data_type].append(data_value)
? ? ? ? except KeyError:
? ? ? ? ? ? self.list_dict[data_type] = [data_value]
? ? def get_data(self, data_type)
? ? ? ? return self.list_dict[data_type]
其中 type_a 是相應數據類型的類/數據類型,由 type() 返回。
也許最佳實踐是使用集合的defaultdict來避免 try/ except:
from collections import defaultdict
class Something():
? ? def __init__(self):
? ? ? ? self.list_dict = defaultdict(list)
? ? def add_data(self, data_type: Type, data_value: int):
? ? ? ? self.list_dict[data_type].append(data_value)
?
? ? def get_data(self, data_type)
? ? ? ? return self.list_dict[data_type]
?
另外,作為旁注,我會避免使用變量名稱類型,因為它已經是python 標準庫中的內置函數。
添加回答
舉報