Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O list comprehension retorna algo estranho

Quando eu executo esse código

for x in list("twelve o' clock"):
    if x.isalpha():
        text_list.append(x)
 print(text_list)

o output é:

['t', 'w', 'e', 'l', 'v', 'e', 'o', 'c', 'l', 'o', 'c', 'k']

Mas quando tento fazer um LC,

text_list=[]
text_list.append(x for x in list("Twelve o' clock.") if x.isalpha())
print(text_list)

o return é esse:

[<generator object alphabet_position.<locals>.<genexpr> at 0x7f24f75137d0>]

Pq não deu certo?

1 resposta
solução!

Bom dia Diego, tudo bem?

Na verdade deu certo, mas de um jeito que vc não esperava.

A sintaxe para popular a lista pelo list comprehension na verdade é:

text_list=[x for x in list("Twelve o' clock.") if x.isalpha()]
print(text_list)

Desta forma o resultado já fica dentro da lista, definido pelos [].

da forma que vc fez incluiu o generator dessa expressão como sendo o conteúdo da lista.