Python中从头开始的Forloop

2024-06-28 16:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在寻找一种在Python中创建for循环的方法,而不使用“for”等词我想使用def而不是内置函数创建for循环。我基本上想从头开始创建自己的for循环

从头开始在python中创建len的代码示例:

def L(list):        #code for len() function. 
  counter = 0       #uses counter and for-loop
  for n in list:    #to increment counter for each 
    counter += 1    #value in the entered list

print(counter)

非常感谢您的帮助


Tags: and方法函数代码in示例forlen
2条回答

如果不想使用for循环,可以使用while循环:

def alternate_for(list):
     counter = 0
     n = len(list)
     while counter < n:
         do_something
         counter += 1

首先,您需要了解forlen是非常不同的事情。len()是一个内置函数。当然,作为一个函数,它可以在python中重新实现。这只是为了方便起见

for是一个关键字,也是一个基本的语言特性它不是一个函数。因此,您不能重新实现它(例如,除非您正在编辑解释器)。netheress您可以创建一个做同样事情的函数

下面是一个使用递归的示例:

def for-loop(iterator, function):
   iterator = iter(iterator) #convert given iterable to iterator if not already done
   try:
      value = next(iterator)
   except StopIteration:
      return
   function(value)
   return for-loop(iterator, function) #recurse

#usage example :
for-loop(range(5), lambda x: print(x))

返回

0
1
2
3
4

如果您不理解这段代码,您可能想了解迭代器、python的真正用途以及递归

编辑:事实上,我认为这是一个很好的练习,因为它教你高级语言功能和技术,如迭代器、递归、lambda函数……如果你想很好地继续这个练习,你可以实现else(从for: else:构造)

相关问题 更多 >