将Python列表转换为换行分隔的值

5 投票
5 回答
25848 浏览
提问于 2025-04-16 04:34


我想把数据放到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写代码。

谢谢!

5 个回答

2

你的代码运行得很好,达到了你想要的效果。不过我想你是在使用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
2

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

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

这个代码会把你的一系列列表转换成一个字符串,每个列表之间用换行符分开。

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

不过,这跟JSON有什么关系呢...?

撰写回答