2010-09-24 63 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 
相關問題