iKyriaki
iKyriaki

Reputation: 609

Finding every nth element in a list

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

Answers (3)

us2012
us2012

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

avasal
avasal

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

sufinsha
sufinsha

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

Related Questions