在没有for循环的情况下对列表的每个元素进行操作

时间:2020-02-14 14:03:40

标签: python python-3.x

现在,我知道这个问题听起来很奇怪,但是我发现自己处于一种情况,除非我设法找出问题的根源,否则我可能需要避免遍历列表。

问题:

def SomeFunction(args):
    someList = [here, are, list, elements]
    print (someList) # works normal
    for elem in someList:
        print (elem) # side effects observed here (and not sure why at this stage), only the first element is printed

是否还有其他方式可以像for循环那样访问列表元素?

3 个答案:

答案 0 :(得分:1)

您可以使用递归或切片。

def print_ele(elements):
    if(len(elements)>0):
        print(elements[0])
        print_ele(elements[1:])

//Or 
elements[0:2]

答案 1 :(得分:0)

通常,这可以使用递归来实现。

这是我使用递归处理列表的算法:-

process_list函数(将列表的第一个元素作为参数)

  1. 如果列表已结束: 返回(结束函数执行)。

  2. 处理当前元素。

  3. 调用函数process_list(将其传递到列表中的下一个元素)。

答案 2 :(得分:0)

您可以使用while循环遍历列表:

i = 0
sizeofList = len(wordList) 
while i < sizeofList :
    print(wordList[i]) 
    i += 1