python列表到换行符分隔值

时间:2010-09-24 20:38:26

标签: jquery python pylons


 我试图获取pylon中的数据以用于jquery自动完成,  我用于自动填充的图书馆需要这种格式

abc
pqr
xyz

并且在python中我有这种格式的数据

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

如何将此列表转换为上述列表。

编辑:
  我试图将这些用于自动操作,并且我正在使用pylons,其中查询服务器以此格式返回列表

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

http://jquery.bassistance.de/autocomplete/demo/此库除

中的远程调用外
abc 
pqr
xyz
我尝试使用

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

但它会像这样在firebug中返回数据。

'asd\ndad\nweq'

我希望它在

abc
pqr
xyz

任何帮助将不胜感激,因为我是PHP开发人员,这是我第一次尝试在python中执行代码。

thnaks

5 个答案:

答案 0 :(得分:8)

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

然而,这与JSON有什么关系??

答案 1 :(得分:1)

呃我不确定你到底想要什么,但是如果你需要打印那么你可以做到

for l in data:
    print l[0]

或者如果你想把它变成一个平面列表,你可以做类似的事情

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

或者如果您只想要一个带换行符的单个字符串,您可以执行类似

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

Dunno如果有帮助的话,但祝你好运

答案 2 :(得分:1)

我不确定你想要什么,但你可以试试:

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

这会将您的列表列表转换为由换行符分隔的字符串。

答案 3 :(得分:1)

您的代码正在按照您的意愿执行,但我想您正在检查python 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

答案 4 :(得分:0)

我想你想要这个,虽然根据你的描述很难知道:

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