简体   繁体   中英

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?

You just need lst[::n] .

Example:

>>> lst=[1,2,3,4,5,6,7,8,9,10]
>>> lst[::3]
[1, 4, 7, 10]
>>> 
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]

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]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM