Я изучаю, как оптимизировать циклы в Python 3.7, и продолжаю получать «неверную синтаксическую ошибку». Я уже проверил пропущенные скобки. Вот код:
best = probabilities[0]
best = (probabilities[i] for i in range(1, len(probabilities)) if probabilities[i] > best)
print(best)
prob, im = (prob, im for prob, im in zip(probabilities, image_names) if prob == best)
return (prob, im)
дает мне ошибку
File "path", line 27
prob, im = (prob, im for prob, im in zip(probabilities, image_names) if prob == best)
^
SyntaxError: invalid syntax
Я не уверен, что пошло не так, поскольку следующий код, который я использовал в другом упражнении, использует почти такой же синтаксис:
im = [im for im, prob in zip(image_names, probabilities) if prob >= threshold]
return (im)
Редактировать: я также пытался
return (prob, im for prob, im in zip(probabilities, image_names) if prob == best)
, и он говорит, что тип переменной является Генератором [tuple [float, str], Any, None], но яЯ не уверен, что это значит.
Любая помощь будет очень признателен