2016-10-31 2 views
1

У меня есть список из 20 пунктов. Я хочу создать новый список, а не только каждый пятый элемент списка.Создавать список в python с каждым 5-м элементом?

Вот был у меня есть:

listA=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] 
    for i in len(range(listA)): 
     print i 

Как я могу создать listB из listA с помощью Python? listB должно быть равно [5, 10, 15, 20].

ответ

4

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

listB = listA[4::5] 

Это означает, что, начиная с индекса 4, выбрать каждый 5-ый элемент.

0

Другой метод использует функцию range(), чтобы создать список целых чисел с приращением (шагом) 5 между ними, а затем использовать их для доступа к показателям исходного списка, чтобы добавить их в новый:

listB=[] 
for i in range(4,len(listA),5): 
    listB.append(listA[i]) 

range(start, stop[, step]) функция возвращает список целых чисел, на основе аргументов:

  1. start - первое число в списке (опционально, по умолчанию 0).
  2. stop - последнее целое число, сгенерированное в списке, будет наибольшим, но меньше, чем значение stop (stop не будет в списке).
  3. step - приращение для значений в списке (по умолчанию 1, может быть сделано отрицательным - для создания уменьшающихся списков).
Смежные вопросы