Załóżmy, że tworzę prostą klasę, która działa podobnie do struktury w stylu C, aby po prostu przechowywać elementy danych. Próbuję dowiedzieć się, jak przeszukiwać listę obiektów dla obiektów z atrybutem równym określonej wartości. Poniżej znajduje się trywialny przykład ilustrujący to, co próbuję zrobić.Wyszukiwanie listy obiektów w Pythonie
Na przykład:
class Data:
pass
myList = []
for i in range(20):
data = Data()
data.n = i
data.n_squared = i * i
myList.append(data)
Jak bym go o przeszukiwaniu listy mylist celu ustalenia, czy zawiera ona element z n == 5?
Byłem Googling i przeszukiwania dokumentacji Pythona, i myślę, że może być w stanie to zrobić ze zrozumieniem listy, ale nie jestem pewien. Dodam jeszcze, że muszę przy okazji używać Pythona 2.4.3, więc żadne nowe funkcje 2.6 lub 3.x gee-whiz nie są dla mnie dostępne.
Może niezamierzony cokół swojej np mojaLista = [danych (n) == 0, danych(), n = 1,.. , ...] gdzie data.n zostanie przypisana przez range(), a data.n będzie indeksem do myList. W związku z tym pozwala wyciągnąć wszelkie wystąpienie Data() po prostu przez odniesienie myList przez wartość indeksu. Oczywiście możesz później zmodyfikować myList [0] .n = 5.2 lub coś podobnego. A przykład był prawdopodobnie zbyt uproszczony. – DevPlayer