Создавать список только в python с каждым 5-м элементом?

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

Вот у меня есть:

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 из listB с помощью Python? listB должен быть равен [5, 10, 15, 20] .

2 Solutions collect form web for “Создавать список только в python с каждым 5-м элементом?”

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

 listB = listA[4::5] 

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

Другой метод использует функцию 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 , может быть сделано отрицательным – для создания уменьшающихся списков).
Python - лучший язык программирования в мире.