Próbuję nauczyć się algorytmu uczenia apriori z książki, która używa języka Python, a jako część tej nauki mam problem z następującym problemem:Python - problem z użyciem listy zamrożonych wpisów w pętli for
Kod następujący konstrukt wydaje się działać prawidłowo:
Ck = [[1], [2], [3], [4], [5]]
for tranid in range(10):
for candidate in Ck:
print("Printing candidate value: ", candidate)
jednak następujące nie działa:
Ck = [[1], [2], [3], [4], [5]]
Ck2 = map(frozenset, Ck)
for tranid in range(10):
for candidate in Ck2:
print("Printing candidate value: ", candidate)
Kiedy map każdy element mojego pierwotnego ITER w stanie zamrożonym, zauważam, że wewnętrzna pętla ("dla kandydata w Ck2") jest wykonywana tylko raz. Potem nigdy się nie kończy. Powyższy kod bez zamrożonego zestawu poprawnie przepuszcza pętlę wewnętrzną 10 razy. Jednak przy zamrożonym zestawieniu, mogę wykonać wewnętrzną pętlę tylko raz.
Pomóż mi rozwiązać ten problem. Książka zmapowała wartości iterowalne na zamrożone, ponieważ nie chcą, aby były zmienne dla celów algorytmu. Po prostu staram się podążać za tym, jak jest.
Używam Python 3.5.1 na Anacondzie (Spyder).
Proszę o pomoc, ponieważ jestem nowy zarówno w Pythonie, jak i w uczeniu maszynowym.
Dzięki i Pozdrawiam, Mahesh.
Oh wow, że pracował. Wielkie dzięki :) – user3755648