2016-06-09 5 views
2

Я хочу получить только 16 записей и если их больше 16, а затем удалить первые 16 из списка.Как удалить первые 16 записей в списке?

мой код:

ItemList = { 
    "items": [ 
     [ 
      [19,1],[19,2],[19,3],[19,4],[19,5],[19,6],[19,7],[19,8],[19,9],[19,10],[19,11],[19,12],[19,13],[19,14],[19,15],[19,16],[19,17],[19,18],[19,19],[19,20],[19,21],[19,22],[19,23],[19,24],[19,25],[19,26],[19,27],[19,28],[19,29],[19,30],[19,31],[19,32], 
     ], 
     [], 
     [], 
    ], 
} 

if len(ItemList["items"][0]) > 16: 
    for index in xrange(16): 
     ItemList["items"][0].remove(ItemList["items"][0][index]) 
print ItemList["items"][0] 

, но он не работает

это мой выход:

[[19, 2], [19, 4], [19, 6], [19, 8], [19, 10], [19, 12], [19, 14], [19, 16], [19, 18], [19, 20], [19, 22], [19, 24], [19, 26], [19, 28], [19, 30], [19, 32]] 

Я просто хочу, чтобы получить это:

[[19,17],[19,18],[19,19],[19,20],[19,21],[19,22],[19,23],[19,24],[19,25],[19,26],[19,27],[19,28],[19,29],[19,30],[19,31],[19,32]] 
+0

Вы можете просто использовать нарезку – Pythonista

+0

я получил решение: для й в xrange (LEN (ITEMLIST [ "элементы"] [0])/16-1): дель ITEMLIST [ "пункты"] [0] [: 16] распечатать ItemList ["items"] [0] но его лучшее? – Noa502

ответ

2

(Edit после комментария)
Может быть, это то, что вы ищете:

if len(ItemList['items'][0]) > 16: 
    ItemList['items'][0] = ItemList['items'][0][-16:] 

Вы можете использовать это:

ItemList['items'][0] = ItemList['items'][0][16:] 
+0

Единственная проблема заключается в том, что сделано несколько записей, всегда на 16 Я хочу удалить первые 16 записей или получить последние 16 – Noa502

+0

@ Noa502, этот ваш комментарий не говорит то же, что и ваш вопрос. В вопросе вы сказали, если их больше 16, а затем удалите первый 16. Теперь, если говорят 17 элементов, удаление первого 16 приведет к тому, что останется только 1. Но в соответствии с приведенным выше комментарием вы хотите получить последнее 16. Так что же вы действительно хотите сделать? –

+0

@ Noa502 в любом случае, посмотрите на редактирование. –

0

Вы можете использовать только срезы:

>>> ItemList['items'][0][16::] 
[[19, 17], [19, 18], [19, 19], [19, 20], [19, 21], [19, 22], [19, 23], [19, 24], [19, 25], [19, 26], [19, 27], [19, 28], [19, 29], [19, 30], [19, 31], [19, 32]] 
1

Просто:

del ItemList["items"][0][:16] 
Смежные вопросы