Existe um equivalente em Python do Haskell 'let'

Existe um equivalente em Python à expressão 'let' do Haskell que me permitiria escrever algo como:

list2 = [let (name,size)=lookup(productId) in (barcode(productId),metric(size)) 
            for productId in list]

Se não, qual seria omais legível alternativa?

Adicionado para esclarecimento da sintaxe let:

x = let (name,size)=lookup(productId) in (barcode(productId),metric(size))

é equivalente a

(name,size) = lookup(productId)
x = (barcode(productId),metric(size))

A segunda versão não funciona tão bem com as compreensões da lista, no entanto.

questionAnswers(8)

yourAnswerToTheQuestion