Python在for循环中的列表中使用变量

ck3mp

我试图弄清楚如何在迭代过程中将值替换为列表。需要这样做的原因是这是测试代码,最终将使用多达数千个table_2_details条目构建多达15/20个API调用。

码:

table1 = ['table_1', 'getpost', 'url_1_<project_id>', 'filename_1']
table2 = ['table_2', 'getpost', 'url_2_<project_id>', 'filename_2']

api_calls = [table1, table2]

# Special treatment
table2_details = ['table_2_details', 'getpost', 'url_2_details_<project_id>_<checklist_id>', 'filename_2_details']

projects = ['proj1', 'proj2', 'proj3']
checklists = ['check1', 'check2', 'check3']

for project_id in projects:
    print(f"\n{project_id}")
    for call in api_calls:
        print(call[2])
        if call[0] == "table_2":
            for checklist_id in checklists:
                print(table2_details[2])

电流输出:

proj1
url_1_<project_id>
url_2_<project_id>
url_2_details_<project_id>_<checklist_id>
url_2_details_<project_id>_<checklist_id>
url_2_details_<project_id>_<checklist_id>

proj2
url_1_<project_id>
url_2_<project_id>
url_2_details_<project_id>_<checklist_id>
url_2_details_<project_id>_<checklist_id>
url_2_details_<project_id>_<checklist_id>

proj3
url_1_<project_id>
url_2_<project_id>
url_2_details_<project_id>_<checklist_id>
url_2_details_<project_id>_<checklist_id>
url_2_details_<project_id>_<checklist_id>

我需要用<>所示替换project_id和checklist_id

我是Python的新手,所以如果这太疯狂了,请指出正确的方向以便我学习。

感谢您的任何帮助,

汤姆·道尔顿

您可以使用字符串格式化来执行此操作,例如,将格式化序列放入字符串中,如下所示:

table2_details = ['table_2_details', 'getpost', 'url_2_details_{project_id:}_{checklist_id:}', 'filename_2_details']

然后,在使用任何字符串之前,请通过以下格式运行它们:

for arg in table2_details:
    print(arg.format(project_id='foo', checklist_id='bar'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章