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 标准库中的内置函数。
添加回答
举报