对于python中的循环不断更改索引

时间:2017-06-18 19:32:58

标签: python html5 python-3.x

我有这个循环来创建导航栏。它工作正常,除了每次运行程序时链接的排列都在不断变化

nav ={'page1':'page1.html','page2': 'page2.html','page3':'page3.html','page4':'page4.html','page5':'page5.html'}
output= ""
for key in nav:
    if nav[key]==active:
        output+='<li class="active"><a href="%s">%s</a></li>' % (nav[key],key)
    else:
        linksHtml+='<li><a href="%s">%s</a></li>' % (nav[key],key)
return output

2 个答案:

答案 0 :(得分:1)

如果您想保留插入顺序,可以使用OrderDict

答案 1 :(得分:1)

使用集合包OrderedDict方法,您可以确保它们始终按照您最初添加它们的顺序出现。有关详细信息,请参阅https://docs.python.org/2/library/collections.html#collections.OrderedDict

import collections

nav ={'page1':'page1.html','page2': 'page2.html','page3':'page3.html','page4':'page4.html','page5':'page5.html'}
output= ""
for key in collections.OrderedDict(nav):
    if nav[key]==active:
        output+='<li class="active"><a href="%s">%s</a></li>' % (nav[key],key)
    else:
        linksHtml+='<li><a href="%s">%s</a></li>' % (nav[key],key)
return output