2013-08-20 2 views
-2

Может someoene мне помочь преобразовать юникод в список мои данные Юникода выглядит следующим образомКак конвертировать Юникод в список?

data=[u'1APT', u'CCS', u'COMRM'] 

data =type 'unicode' 

И хочу, чтобы преобразовать его в

data=['1APT', 'CCS','COMRM'] 

data = type 'list' 

здесь более подробно для моей проблемы, вот код

genlist2= request.POST['data2'] 
print type(genlist2) 
print "genlist2" 
print genlist2 
for d in genlist2: 
    print d 

Выход:

type 'unicode' 

[u'1APT', u'CCS', u'COMRM'] 

[ 

u 

' 

1 

A 

p 

T 

etc.. 

Почему на выходе в течение цикла, я получаю каждый символ отделенный, я хочу

1APT 
CCS 
COMRM 
?? 
+3

У вас уже есть список, список строк в Юникоде. –

+1

Этот синтаксис недействителен, поэтому неясно, какая форма на самом деле занимает ваши данные. Похоже, что это уже список. Не могли бы вы использовать реальный синтаксис Python, чтобы мы знали, с чем имеем дело? – user2357112

ответ

2
>>> data = map(str, data) 
>>> data 
['1APT', 'CCS', 'COMRM'] 

Но вы можете подвергнуть сомнению вашу потребность делать это.

0
>>>newdata = [i.encode() for i in data] 
>>>print newdata 
['1APT', 'CCS', 'COMRM'] 

EDIT:

я понял, что это ваша проблема. genlist2 - это строка, и ее содержимое просто похоже на список python.

genlist2 = "[u'1APT', u'CCS', u'COMRM']" 

eval(genlist2) вернет список, который вы хотите. eval() обычно небезопасен и имеет некоторые другие проблемы, вы можете ссылаться на Is using eval in Python a bad practice?.

Я не знаю других способов получить то, что вы хотите.

+0

это не сработает для меня, когда я это сделаю, я получаю ['[', 'u', '' ',' 1 ',' A ',' P ',' T ',' '', ',' ',' ',' u ',' '', 'C', 'C', 'S – ivan

+0

Я хочу как распечатать [' 1APT ',' CCS ',' COMRM '] – ivan

+0

Я объясню свою проблему в более detaisl, у меня есть структура данных [u'1APT ', u'CCS', u'COMRM '], которая хранится с vobs = request.POST [' data2 '] – ivan

Смежные вопросы