python - 将字典列表分配给 for 循环中的函数
问题描述
假设我有一个包含 GET 请求的有效负载数据的字典列表,如下所示:
lst = [{'json1': 1},{'json2': 2},{'json3': 3}]
该列表可以是 1 - 10 范围内的任意长度。从这里我将此列表发送到线程的 for 循环,该循环调用独立的函数(call_1
通过 to call_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 个线程?
欢迎任何建议,谢谢。
解决方案
尝试这个:
counter = 0
for k in lst:
counter += 1
exec("thread.start_new_thread(call_" + str(counter) + ", ( lst[k] ,))" )
我正在使用exec()
,它将字符串视为代码。有问题的字符串是使用动态创建的counter
。
推荐阅读
- python-3.x - 使用 python 将特定的雅虎财务在线表格导出到 csv
- java - 如果 git 是版本控制,如何将 spring 云配置服务器指向由客户端决定的文件夹
- reactjs - 如何使用 webpack-dev-server 从我的反应应用程序中的 src 文件夹中读取 json 文件?
- python - 如何更改交互式缩放矩形的颜色?
- c - 将函数的返回值存储在数组中
- angular - 如何同时实时运行 Angular 服务、测试和 lint?
- shell - 请求端口时启动服务
- apache-spark - 如何在 Spark 3 中查看推送和分区过滤器
- javascript - 回调问题 - 回调不是函数
- c - C : 使用do-while,程序不会停下来得到需要评估的问题的答案