2017-01-30 8 views
-5

Я хотел бы разделить список списков, проверяя, если первый элемент каждого списка нижестоящего является «0», то естьSplit список списков по шаблону

original_list = [[0,ab],[1,cd],[1,ef],[0,gh],[1,ij]] 

И я хочу, чтобы мой список в результате быть:

result = [[ab,cd,ef],[gh,ij]] 

Я полагаю, мне нужно будет использовать словарь, но то, что является наиболее эффективным способом сделать это в Python?

спасибо!

+0

StackOverflow является узел кода, написание форума. Пожалуйста, покажите свою работу, чтобы мы могли помочь. – Soviut

+0

Вы что-то пробовали? Сначала соедините рабочее решение. –

+0

Я пробовал много вещей (очень близко, используя флаг), но застрял, поэтому я попросил о помощи. В любом случае, в следующий раз будет более осторожным. – cirnelle

ответ

0

Основываясь на том, что вы сказали, это может решить вашу проблему:

original_list = [[0,'ab'],[1,'cd'],[1,'ef'],[0,'gh'],[1,'ij']] 

result = [] 
temp = [] 
checker = 0 
for item in original_list: 
    if item[0] >= checker: 
     checker = item[0] 
    else: 
     result.append(temp) 
     checker = 0 
     temp = [] 
    temp.append(item[1]) 

result.append(temp) 
+0

Большое спасибо @Boris, что работает! Контроллер был бит, который мне не хватало. – cirnelle

 Смежные вопросы

  • Нет связанных вопросов^_^