Wpis z mikrobloga

Jak iterować po dwóch listach z różnymi długościami w Pythonie w prawidłowy sposób? Kiedy używam "zip'a" to iteruje prawidłowo, ale całość kończy się na krótszej liście, a kiedy stosuje porady ze Stacka to wyrzuca mi errory... tutaj przykładowo zamiast "zip'a" dałem "zip_longest" - tak żeby iterowało prawidłowo po długości dłuższej listy - i znowu: normalnie iteruje do długości krótszej listy, a potem error.
Każdy obiekt w obu listach to obraz + etykieta ( 'label' ) obrazu. Jakieś pomysły?
#programowanie #programista15k #naukaprogramowania #python
o.....n - Jak iterować po dwóch listach z różnymi długościami w Pythonie w prawidłowy...

źródło: comment_1659298112qrsa74WYw1wwv41sRRyH0W.jpg

Pobierz
  • 12
via Wykop Mobilny (Android)
  • 0
@omogl1n: możesz użyć parametru fillvalue i zamiast None wstawić coś, co można rozbić na 2 rzeczy, np krotkę (None, None). Pytanie, jak dalsze funkcje sobie radzą z takim inputem.
@Blomex: Popróbowałem już właśnie z 'fillvalue' ze słabym rezultatem - następne funkcje sobie z tym nie radzą... ( chociaż oryginalny problem jest rozwiązany ). Jest jakaś alternatywna metoda?
@lionbest: Pętla pobiera dane z dwóch list ( obraz + etykieta ) i zwraca obrazy przekonwertowane na tensory + etykiety. 'transform_valid' zamienia obrazy na tensory.
Mógłbym to zrobić w inny sposób, ale zastanawiam się, czy da się to zrobić po prostu iterując po dwóch listach jednocześnie.
via Wykop Mobilny (Android)
  • 0
@omogl1n: a co ma się dziać, gdy pierwsza lista już się skończyła, a druga nie?
Możesz pewnie dorzucić ifa, żeby nie wykonywał kodu, jak image1 jest None.