This article brings you relevant knowledge about python. It mainly introduces three methods on how to use for loop to traverse Python dictionary. Let’s take a look at it together. I hope it will be helpful to everyone. help.
Recommended learning: python video tutorial
In Python, how to use "for" loop to traverse a dictionary?
Today we will demonstrate three methods and learn to traverse nested dictionaries.
Before actual combat, we need to create a dictionary of simulated data.
dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'}
The easiest way to iterate over a dictionary in Python is to Put directly into the for loop.
Python will automatically treat dict_1
as a dictionary and allow you to iterate over its keys. Then, we can use the index operator to obtain each value.
for key in dict_1: print(key, ":", dict_1[key])
If you want to arrange the keys in alphabetical order, you can use the sorted()
method. The specific usage is as follows.
for key in sorted(dict_1): print(key, ":", dict_1[key])
Use .keys() to return a Python object containing dictionary keys, you can get Same result as method 1. Likewise, it also needs to be used in conjunction with indexing operators.
for key in dict_1.keys(): print(key, '-->', dict_1[key])
In fact, the most "pythonic" and elegant way to traverse a dictionary is The method is to use the .items() method.
print(dict_1.items())
In order to iterate over the keys and values of the transaction_data dictionary, you only need to "unpack" the two items embedded in the tuple, like this:
for k,v in dict_1.items(): print(k,">>",v)
Note that k
and v
are just standard aliases for "key" and "value", but you can also choose other naming conventions .
For example, we can replace it with a
and b
, and we will have the same output.
for a,b in dict_1.items(): print(a,"-",b)
Sometimes, we will encounter more complex dictionaries-nested dictionary.
So what should we do in this situation?
dict_2 = {"num_1":{'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'}, "num_2":{'Name': 'BOb', 'Age': 32, 'Class': 'Six','Address':'Shanghai'}, "num_3":{'Name': 'Tom', 'Age': 25, 'Class': 'Second','Address':'Wuhan'}}dict_2
In order to unravel the key-value pairs belonging to each nested dictionary, we can do this:
for k, v in dict_2.items(): if type(v) is dict: for nk, nv in v.items(): print(nk, "→", nv)
Determine whether the value is through the if statement Dictionary, if so, use method 3 mentioned earlier, using .items() for iterative output.
The running results are as follows.
If you only want to decompress part of the dictionary, you can add conditions to the if statement.
for k, v in dict_2.items(): if type(v) is dict and k == 'num_2': for sk, sv in v.items(): print(sk, "-->", sv)
Only outputs the dictionary of num_2
. The running results are as follows.
#The above are the tips for using “for” loop to traverse the dictionary in Python.
Recommended learning: python video tutorial
The above is the detailed content of Three methods to use For loop to traverse Python dictionary (detailed examples). For more information, please follow other related articles on the PHP Chinese website!