2010-09-24 3 views
2


Im пытается получить данные в пилоне для использования в Jquery автозаполнении, librarary я использую для автозаполнения требует этого форматасписок питон для новой строки значения, разделенных

abc 
pqr 
xyz 

и питон У меня есть данные в этом формате

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

Как преобразовать этот список в приведенный выше.

Edit:
Я пытаюсь использовать их для в AutoComplete и я использую пилоны, в котором запрос к списку возврата сервера в этом формате

[["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 это первый раз, когда я пытаюсь сделать код в питона.

Thnaks

+1

Какое отношение это имеет к JSON? –

+1

'\ n' * - это возврат каретки, поэтому вы получаете именно то, что вы просили. –

ответ

1

Er Я не уверен, что именно вы хотите, но если вам нужно напечатать, что вы могли бы сделать

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

Ваш код делает то, что вы хотите его, но я полагаю, вы осматривая результаты в питона РЕПЛ или 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 
Смежные вопросы