将字符串列表分配给for循环中的函数

时间:2018-04-29 12:53:49

标签: python list for-loop

假设我有一个包含GET请求的有效负载数据的dicts列表,如下所示:

lst = [{'json1': 1},{'json2': 2},{'json3': 3}]

此列表的长度可以是1到10之间。从此处我将此列表发送到线程的for循环,调用独立函数(call_1call_10) :

for k in lst():
    thread.start_new_thread(call_1, ( lst[k] ,))
    thread.start_new_thread(call_2, ( lst[k] ,))
    ...
    thread.start_new_thread(call_10,( lst[k] ,))

我的问题是,如果列表只有长度3,比方说,我应该使用什么方法,以便我只调用前3个线程?

欢迎任何建议,谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

counter = 0
for k in lst:
    counter += 1
    exec("thread.start_new_thread(call_" + str(counter) + ", ( lst[k] ,))" )

我正在使用exec(),它将字符串视为代码。有问题的字符串是使用counter动态创建的。