首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行一个循环,其中包含查询自动化的三个步骤。

运行一个循环,其中包含查询自动化的三个步骤。
EN

Stack Overflow用户
提问于 2018-03-02 08:15:43
回答 2查看 32关注 0票数 0

我正在尝试找出一个代码来运行一个查询,这个查询有两个不同的输入,一个片段用来查询并将数据粘贴到相应的国家表和选项卡名上。

代码语言:javascript
复制
ancestor_l = [1,2]
country_l = ['hk','my']
tab_name = ['sh1','sh2']

我希望它创建一个输出输出的循环:

祖先1 开放hksh1 将祖先1粘贴到hksh1 开放mysh1 将祖先1粘贴到mysh1祖先2 openig hksh2 将祖先2粘贴到hksh2 开放mysh2 将祖先2粘贴到mysh2

我的代码如下所示

代码语言:javascript
复制
for anc in ancestor_l:
    print "\n"
    print "ancestor "+ str(anc)
    for tab in tab_name:
        for country in country_l:
            print "opening " + str(country) + str(tab)
            print "pasting ancestor "+str(anc)+" to "+ str(country) + str(tab)

但这将产生以下结果:

代码语言:javascript
复制
ancestor 1
opening hksh1
pasting ancestor 1 to hksh1
opening mysh1
pasting ancestor 1 to mysh1
opening hksh2
pasting ancestor 1 to hksh2
opening mysh2
pasting ancestor 1 to mysh2


ancestor 2
opening hksh1
pasting ancestor 2 to hksh1
opening mysh1
pasting ancestor 2 to mysh1
opening hksh2
pasting ancestor 2 to hksh2
opening mysh2
pasting ancestor 2 to mysh2

如何修复嵌套循环?

EN

回答 2

Stack Overflow用户

发布于 2018-03-02 08:24:41

下面是一个关于如何改进这个特性的小例子(如jonrsharpe所建议的那样使用zip ):

代码语言:javascript
复制
ancestor_l = [1,2] 
country_l = ['hk','my'] 
tab_name = ['sh1','sh2'] 

for anc, tab in zip(ancestor_l,tab_name): 
    print("\nancestor {}".format(anc))
    for country in country_l:
        print("opening {}{}".format(country,tab))
        print("pasting ancestor {} to {}{}".format(anc,country,tab))

输出:

代码语言:javascript
复制
ancestor 1
opening hksh1
pasting ancestor 1 to hksh1
opening mysh1
pasting ancestor 1 to mysh1

ancestor 2
opening hksh2
pasting ancestor 2 to hksh2
opening mysh2
pasting ancestor 2 to mysh2
票数 0
EN

Stack Overflow用户

发布于 2018-03-02 08:30:21

就是这里

代码语言:javascript
复制
tab_name_index = 0
for ancestor_l_val in ancestor_l:
    print "\n" 
    print "ancestor "+ str(ancestor_l_val)
    for country_l_val in country_l:
        print "opening "+str(country_l_val)+str(tab_name[tab_name_index])
        print "pasting ancestor "+ str(ancestor_l_val)+" to "+str(country_l_val)+str(tab_name[tab_name_index])
    tab_name_index +=1

输出

代码语言:javascript
复制
ancestor 1
opening hksh1
pasting ancestor 1 to hksh1
opening mysh1
pasting ancestor 1 to mysh1


ancestor 2
opening hksh2
pasting ancestor 2 to hksh2
opening mysh2
pasting ancestor 2 to mysh2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49065139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档