尝试创建一个在数字或单词列表中返回Nth的函数。我想保持简单,不输入任何东西,我想把它用于学习目的,欢迎几个例子,谢谢!
def printNth(lst,n):
lst=[]
for i in lst:
if i>=0:
if i%n!=0:
print(i)
现在对于数字列表,我得到了我想要的输出示例:
printNth([1,2,3,4,5,6],2)
1
3
5
我无法用文字处理它。
我希望它做的例子:
printNth(['apple','pear','oj','banana'],2)
'apple'
'pear'
答案 0 :(得分:0)
您正在设置lst=[]
,完全忽略传入的lst
。
删除这个荒谬的行。
此外,for i in lst
会迭代列表中的所有项。如果您想迭代和项目的索引,请使用enumerate()
。
def printNth(lst, n):
for idx,item in enumerate(lst):
if (idx % n) != 0:
print(item)
更好的想法是创建一个返回每个第n项的函数。这就是生成器派上用场的地方:
def every_nth(lst, n):
for idx,item in enumerate(lst):
if (idx % n) != 0:
yield item
for item in every_nth(['apple','pear','oj','banana'], 2):
print item