繁体   English   中英

如何在 Python 中并行迭代 for 循环中的列表

[英]How to iterate over a list in a for loop in parallel in Python

我有一个列表,我们可以使用 for 循环进行迭代,如下所示:

myList = ['A', 'B', 'C', 'D']
for elem in myList:
    print("Element = %s" % elem)

以上将按顺序迭代列表。 但我想同时做到这一点。 怎么做? 是否可以在不创建任何新方法的情况下这样做? 是否有必要创建任何多线程或多处理?

请指教。 任何例子都值得赞赏

谢谢。

作为对我添加的评论的回应,您可以使用线程来同时执行功能。 您需要导入库,定义要同时运行的两个函数,然后创建线程。

import threading

def func1():
    #Perform one action here
    myList = ['A', 'B', 'C', 'D']
    for elem in myList:
        print("Element = %s" % elem)

def func2():
    #Perform one action here
    myList = ['E', 'F', 'G', 'H']
    for elem in myList:
        print("Element = %s" % elem)

t1 = threading.Thread(target=func1) #Create first thread running the function func1
t2 = threading.Thread(target=func2) #Create second thread running the function func2

#Start the threads
t1.start()
t2.start()

如果你想并行迭代它,你必须实现某种多任务处理。 例如,您可以创建 2 个线程,一个用于前半部分,另一个用于后半部分 ([A,B], [C,D])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM