2010-09-24 33 views
2


我试着在塔获得的数据在jQuery的自动完成功能使用, 我使用自动完成的librarary它需要这种格式Python列表来换行分隔值

abc 
pqr 
xyz 

和蟒蛇我有数据在这种格式

[["abc"], ["pqr"],["xyz"] 

如何将此列表转换为上面的一个。

编辑:
我试图用这些为autocompete和我使用外挂架,其中查询到的服务器返回列表这种格式

[["abc"], ["pqr"],["xyz"] 

http://jquery.bassistance.de/autocomplete/demo/这个库除了在

远程调用
abc 
pqr 
xyz 

我试图用

"\n".join(item[0] for item in my_list) 

但它返回像这样的萤火虫数据。

'asd\ndad\nweq' 

我想这是在

abc 
pqr 
xyz 

任何帮助,将不胜感激,因为我是一个PHP开发人员,这是我第一次尝试在Python做的代码。

thnaks

+1

这与JSON有什么关系? – 2010-09-24 20:53:34

+1

'\ n' *是一个回车,所以你得到了你所要求的。 – 2010-09-25 07:07:21

回答

1

呃,我不知道你想要什么,但如果你需要打印,你可以做

for l in data: 
    print l[0] 

,或者如果你想成为一个平坦的列表,你可以这样做

map(lambda x: x[0], a) 

,或者如果你甚至只是想换行一个字符串,你可以不喜欢

"\n".join(map(lambda x: x[0], a)) 

说不上来,如果这有助于在所有,但祝你好运

8
"\n".join(item[0] for item in my_list) 

然而,这是什么得到了与JSON办......?

1

我不清楚自己想要什么,但你可以尝试:

nested_list = [ ["abc"], ["pqr"], ["xyz"] ] 
data = "\n".join((item[0] for item in nested_list)) 

这将你的清单列表转为由换行符分隔的字符串。

0

我想你想这一点,虽然很难知道根据您的描述:

>>> l = [["abc"],["pqr"],["xyz"]] 
    >>> "".join(map(lambda a:a[0] + "\n",l)) 
    'abc\npqr\nxyz\n' 
2

您的代码做你希望它是什么,但我想你检查的蟒蛇REPL结果或ipython,期待看到新行而不是'\ n'。

In [1]: items = [["abc"], ["pqr"],["xyz"]] 
In [2]: s = "\n".join(item[0] for item in items) 
In [3]: s 
Out[3]: 'abc\npqr\nxyz' 
In [4]: print s 
abc 
pqr 
xyz 
相关问题