Reputation: 609
How can I find every nth element of a list?
For a list [1,2,3,4,5,6]
, returnNth(l,2)
should return [1,3,5]
and for a list ["dog", "cat", 3, "hamster", True]
, returnNth(u,2)
should return ['dog', 3, True]
. How can I do this?
Upvotes: 10
Views: 49312
Reputation: 16263
You just need lst[::n]
.
Example:
>>> lst=[1,2,3,4,5,6,7,8,9,10]
>>> lst[::3]
[1, 4, 7, 10]
>>>
Upvotes: 50
Reputation: 14872
In [119]: def returnNth(lst, n):
.....: return lst[::n]
.....:
In [120]: returnNth([1,2,3,4,5], 2)
Out[120]: [1, 3, 5]
In [121]: returnNth(["dog", "cat", 3, "hamster", True], 2)
Out[121]: ['dog', 3, True]
Upvotes: 3
Reputation: 765
I you need the every nth element....
def returnNth(lst, n):
# 'list ==> list, return every nth element in lst for n > 0'
return lst[::n]
Upvotes: -1