8

如何找到列表的每个第 n 个元素?

对于列表[1,2,3,4,5,6]returnNth(l,2)应该返回[1,3,5],对于列表["dog", "cat", 3, "hamster", True]returnNth(u,2)应该返回['dog', 3, True]。我怎样才能做到这一点?

4

3 回答 3

46

你只需要lst[::n].

例子:

>>> lst=[1,2,3,4,5,6,7,8,9,10]
>>> lst[::3]
[1, 4, 7, 10]
>>> 
于 2013-02-04T04:15:37.123 回答
3
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]
于 2013-02-04T04:16:03.783 回答
0

我你需要每第 n 个元素....

  def returnNth(lst, n):
        # 'list ==> list, return every nth element in lst for n > 0'
        return lst[::n]
于 2013-02-04T04:27:20.450 回答