Во-первых, у списка нет метода encode
, вы должны применить любые строковые методы к элементу в списке.
Во-вторых, если вы смотрите на нормализацию строки, вы можете использоватьфункция normalize
из библиотеки Python unicodedata
, подробнее здесь , она удаляет нежелательные символы '\xa0'
и поможет вам нормализовать любые другие символы.
Тогда вместо использования eval
, который обычно небезопасен, используйте понимание списка для построения списка:
import unicodedata
li = [u'[James, Williams, Kevin, Parker, Alex, Emma, Katie\xa0, Annie]']
inner_li = unicodedata.normalize("NFKD", li[0]) #<--- notice the list selection
#get only part of the string you want to convert into a list
new_li = [i.strip() for i in inner_li[1:-1].split(',')]
new_li
>> ['James', 'Williams', 'Kevin', 'Parker', 'Alex', 'Emma', 'Katie', 'Annie']
В ожидаемом результате они на самом деле представляют собой список переменных, которыеесли не объявлено ранее, вы получите ошибку.