如何在python字典中自定义处理迭代?

2024-10-01 17:21:36 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个措辞:

links={"foo":"url1","bar":"url2","baz":"url3",}

如果可能的话,我想运行一个for循环:

^{pr2}$

要打印dictionaly的下一个值,对于最后一个值,我要打印第一个值。 它的目的是让每一个双字对打印(连接)到另一对,而不需要任何对连接来创建一个循环(相互链接)。在


Tags: 目的forfoo链接barbazlinks措辞
3条回答

你可以得到所有的钥匙链接.keys(). 然后使用它们使用键在字典中迭代。示例:

>>> links={"foo":"url1","bar":"url2","baz":"url3",}
>>> k = links.keys()
>>> for i in range(0, len(k)):
...     print(links[ k[i] ])
... 
url3
url1
url2

当前位置包含变量i。在

我想你的要求是:

keys = links.keys()
n = len(keys)
for i in range(n):
    thisKey = keys[i]
    nextKey = keys[(i + 1) % n]
    nextValue = links[nextKey]
    print thisKey, nextValue

但是要知道字典是不排序的,所以你可以按任何顺序取回键。在

links={"foo":"url1","bar":"url2","baz":"url3",}
it = iter(links)
for link in links:
    print it.next()

... baz
... foo
... bar

但是试试这个:

^{pr2}$

“。。。。最好把字典看作是一组无序的密钥:。。。““

相关问题 更多 >

    热门问题