Я создал следующий класс пользователя.Класс и объекты Python
class User:
def __init__(self, ID, gender, age_group, city):
self.ID = ID
self.gender = gender
self.age_group = age_group
self.city = city
Я позже создаю два объекта класса User и добавлю их в список.
uList = []
u1=User('Alice','f','20-35','abs')
u2=User('Bob','m','35-50','xyz')
uList.append(u1)
uList.append(u2)
Я сохраняю этот список пользователей, используя библиотеку рассола.
я, очевидно, может получить доступ к каждому объекту из этого списка, как: uList [0], uList [1]
Идентификатор в данных представляет собой уникальный идентификатор для каждого пользователя. Мой вопрос задан ID, могу ли я получить весь объект, чтобы получить соответствующие атрибуты?
Я всегда могу использовать словарь следующим образом:
uList = {}
uList['Alice']=u1
uList['BoB']=u2
Является ли это единственный способ? Есть ли способ лучше?
Любая помощь будет оценена по достоинству. Спасибо.
A dict is fine. FWIW, вы можете использовать namedtuples вместо пользовательского класса для хранения ваших данных. Если вы определенно хотите использовать класс, подумайте об использовании ['__slots__'] (https://docs.python.org/2/reference/datamodel.html#slots), чтобы уменьшить требования к ОЗУ. –