willstaff
willstaff

Reputation: 101

Python for key, value in dictionary

So as of now this is my code:

for keys, values in CountWords.items():
    val = values
    print("%s: %s \t %s: %s" % (keys, val, keys, val))

When this is printed it will output this the key and its value and then after a space the same thing. What I want to know is if I can get the second %s: %s to select the next key and value from the dictionary.

Upvotes: 9

Views: 27215

Answers (2)

Rafis Gubaidullin
Rafis Gubaidullin

Reputation: 263

Instead of trying to get next k-v pair, you can keep current k-v pair and use them on the next iteration

d = {'foo': 'bar', 'fiz': 'baz', 'ham': 'spam'}

prev_key, prev_value = None, None

for key, value in d.items():
    if prev_key and prev_value:
        print("%s: %s \t %s: %s" % (prev_key, prev_value, key, value))
    prev_key, prev_value = key, value

fiz: baz     foo: bar
foo: bar     ham: spam

Upvotes: 14

Filadelfo
Filadelfo

Reputation: 106

the items() method returns a list of tuple. Inside a for loop, You'are choosing an element one at time, You can't point within the loop the next element.

Upvotes: 0

Related Questions