我有这个循环来创建导航栏。它工作正常,除了每次运行程序时链接的排列都在不断变化
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
答案 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