假设我们有一个dictinary:
links={"foo":"url1","bar":"url2","baz":"url3",}
我希望通过运行一个for循环,如果可能的话:
for link in links:
...
print(next_dictinary_value)
打印下一个dictionaly值,为我想要打印的第一个值。 目的是每个dictinary对打印(连接)到另一对,没有任何对连接创建一个循环(相互链接)。
答案 0 :(得分:3)
我认为你要求的东西如下:
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
但请注意,字典未排序,因此您可以按任何顺序取回密钥。
答案 1 :(得分:2)
links={"foo":"url1","bar":"url2","baz":"url3",}
it = iter(links)
for link in links:
print it.next()
... baz
... foo
... bar
但试试这个:
it = iter(links)
it.next()
for link in links:
try:
print it.next()
except StopIteration:
it = iter(links)
print it.next()
... foo
... bar
... baz
“....最好将字典视为一组无序的密钥:......”
答案 2 :(得分:-1)
您可以使用keys = links.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包含当前位置。