L oop более 10 списков по номерам списков - PullRequest
1 голос
/ 23 февраля 2020

Я пытаюсь добавить изображения в 10 различных списков на основе их ярлыка.

Например:

list_0, list_1, list_2, list_3,....list_9 # 10 different lists

if np.argmax(p, axis=1) == 0:
    list_0.append(image)
elif np.argmax(p, axis=1) == 1:
    list_1.append(image)
elif np.argmax(p, axis=1) == 2:
    list_2.append(image)
.
.
.
elif np.argmax(p, axis=1) == 9:
    list_9.append(image)

Как я могу сделать это в одну строку? В конечном итоге я сбрасываю прогноз классификатора с его данными, используя pickle.dump. Так что для сброса я должен снова вызвать список 10 раз. Я ищу лучший стиль кодирования для оптимизации моего кода.

1 Ответ

2 голосов
/ 23 февраля 2020

Это может быть проще, если вы соберете все списки в один список, тогда мы можем просто использовать np.argmax (p, axis = 1) для их индексации:

all_lists = [list_0, ..., list_9]

index = np.argmax(p, axis=1)
if 0 <= index <= 9:
    all_lists[index].append(image)
...