2014-10-25 4 views
1

У меня есть набор из вложенного списка возвращается с помощью метода JSON.Loads из запроса на сайте XHR:Для петель и вложенных списков выпуска

[[[13, u'Arsenal', [[[[0, 1], [1, 18], [7, 1], [8, 1], [[[u'fk_foul_lost', [82]], 
[u'total_red_card', [0]], [u'total_yel_card', [21]]]]]]]], 
    ... 
    ... 
    ... 
[184, u'Burnley', [[[[1, 11], [9, 1], [[[u'fk_foul_lost', [78]], [u'total_red_card', [0]], 
[u'total_yel_card', [12]]]]]]]], [259, u'Swansea', [[[[0, 3], [1, 14], [[[u'fk_foul_lost', [99]], 
[u'total_red_card', [2]], [u'total_yel_card', [13]]]]]]]]]] 

Если выше вложенный список выделяется переменной responser Я использую следующий код:

for match in responser: 
    for num_events, team, events in match: 

     for y in events[0]: 
      for sub in y: 
      print sub 

Это возвращает результат, как этот:

[0, 1] 
[1, 18] 
[7, 1] 
[8, 1] 
[[[u'fk_foul_lost', [82]], [u'total_red_card', [0]], [u'total_yel_card', [21]]]] 
... 
... 
... 
[1, 11] 
[9, 1] 
[[[u'fk_foul_lost', [78]], [u'total_red_card', [0]], [u'total_yel_card', [12]]]] 
[0, 3] 
[1, 14] 
[[[u'fk_foul_lost', [99]], [u'total_red_card', [2]], [u'total_yel_card', [13]]]] 

Однако то, что я хочу, это только числовые значения в пределах:

[[[u'fk_foul_lost', [99]], [u'total_red_card', [2]], [u'total_yel_card', [13]]]] 

Может кто-нибудь сказать мне синтаксис мне нужно закончить этот код покинуть?

Благодаря

ответ

2

Попробуйте это:

for match in responser: 
    for num_events, team, events in match: 

     for y in events[0]: 
      for sub in y: 
       if isinstance(sub[0], list): 
        print sub 
+0

@friedi ... привет, спасибо за ответ ... да это сделал то, что я хотел. Можете ли вы рассказать мне хотя то, что делает код, хотя, пожалуйста? – gdogg371

+1

Единственное, что я добавил, это строка 'if isinstance (sub [0], list):'. Здесь я проверяю, является ли первый элемент в строке массивом/списком. – friedi

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