2013-08-20 60 views
-2

能someoene帮助我Unicode转换列出 我的Unicode数据看起来像这样如何将Unicode转换为列表?

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.. 

为什么在for循环输出,我走散了每一个角色,我想

1APT 
CCS 
COMRM 
?? 
+3

你已经有一个列表,Unicode字符串列表... –

+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'] 

编辑:

我已经明白了是你的问题。 genlist2是一个字符串,它的内容就像一个python列表。

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

eval(genlist2)将返回一个你想要的清单。 eval()通常不安全,并有其他一些问题,您可以参考Is using eval in Python a bad practice?

我不知道其他的方式来得到你想要的。

+0

这对我不起作用,当我这样做时,我会得到[''''',''','1','A','P','T',''“,', ' '', 'U' “'”, 'C', 'C',为 'S – ivan

+0

我想为你打印出[' 1APT“, 'CCS', 'COMRM'] – ivan

+0

我会解释我的问题更detaisl,我有数据结构[u'1APT“ u'CCS”,u'COMRM‘],与VOB的存储= request.POST [’数据2' ]当我运行在VOB中数据 – ivan