append
правильно; ваша проблема в строке выше:
for index in range(len(fishim)):
cropped_fishim = []
cropped_image = crop_img(fishim[index], labeled)#call function here.
cropped_fishim.append(cropped_image)
Каждый раз в цикле вы сбрасываете переменную на []
, а затем добавляете новый массив изображений в этот пустой список.
Итак, в конце цикла у вас есть список, содержащий только одну вещь, последний массив изображений.
Чтобы это исправить, просто переместите присвоение перед циклом, чтобы вы делали это только один раз, а не снова и снова:
cropped_fishim = []
for index in range(len(fishim)):
cropped_image = crop_img(fishim[index], labeled)#call function here.
cropped_fishim.append(cropped_image)
Однако, как только вы это заработаете, вы можете упростить его.
Вам почти никогда не нужно - или вы не хотите - перебрать range(len(something))
в Python; Вы можете просто перебрать something
:
cropped_fishim = []
for fishy in fishim:
cropped_image = crop_img(fishy, labeled)#call function here.
cropped_fishim.append(cropped_image)
И затем, как только вы это сделаете, это именно тот шаблон понимания списка, что вы можете при желании свернуть его в одну строку:
cropped_fishim = [crop_img(fishy, labeled) for fishy in fishim]