2015-05-17 2 views
0

Учитывая переменную типа:Как преобразовать список пар во вложенный список?

stories = """adress:address 
alot:a lot 
athiest:atheist 
noone:no one 
beleive:believe 
fivety:fifty 
wierd:weird 
writen:written""" 

Как бы идти о преобразовании его в вложенный список пар? то есть:

new_stories = [['adress', 'address'], ['alot', 'a lot'], ['athiest', 'atheist'], ['noone', 'no one']] # etc. 

В настоящее время я делаю это:

s = stories.split("\n") 

, который дает:

['adress:address', 'alot:a lot', 'athiest:atheist', 'noone:no one'] # etc. 

Тогда я не знаю, что делать, если это правильный шаг на всех.

+0

Split каждый элемент в еще раз используйте ':' как разделитель, а затем добавьте их в 'new_stories', используя' append() '. –

ответ

3

Использовать list comprehension для разбивки каждой строки; Я бы использовать str.splitlines() method для получения линий (как охватывает больше угловых случаев), а затем str.split() для получения каждой линии пары:

[s.split(':') for s in stories.splitlines()] 

Демо:

>>> stories = """adress:address 
... alot:a lot 
... athiest:atheist 
... noone:no one 
... beleive:believe 
... fivety:fifty 
... wierd:weird 
... writen:written""" 
>>> [s.split(':') for s in stories.splitlines()] 
[['adress', 'address'], ['alot', 'a lot'], ['athiest', 'atheist'], ['noone', 'no one'], ['beleive', 'believe'], ['fivety', 'fifty'], ['wierd', 'weird'], ['writen', 'written']] 
Смежные вопросы