如何找到列表中每个第n个元素?
对于列表[1,2,3,4,5,6]
,returnNth(l,2)
应该返回[1,3,5]
,对于列表["dog", "cat", 3, "hamster", True]
,returnNth(u,2)
应该返回['dog', 3, True]
。怎么做呢?
如何找到列表中每个第n个元素?
对于列表[1,2,3,4,5,6]
,returnNth(l,2)
应该返回[1,3,5]
,对于列表["dog", "cat", 3, "hamster", True]
,returnNth(u,2)
应该返回['dog', 3, True]
。怎么做呢?
lst[::n]
。>>> lst=[1,2,3,4,5,6,7,8,9,10]
>>> lst[::3]
[1, 4, 7, 10]
>>>
lst[1::3]
的翻译是:从列表 lst 的第二个元素开始,每隔两个元素取一个元素。 - us2012In [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]
如果你需要每个第n个元素....
def returnNth(lst, n):
# 'list ==> list, return every nth element in lst for n > 0'
return lst[::n]