Home > Article > Backend Development > Tips for learning Python about using the default behavior of dictionaries
This article mainly introduces you to Python learning tips and related information about using the dictionary's default behavior. The introduction in the article is very detailed and has a certain reference for everyone. Value, friends in need come and take a look below.
This article introduces the relevant content about Python’s default behavior of using dictionaries. It is shared for everyone’s reference and learning. Let’s take a look at the detailed introduction:
Typical code 1:
from collections import defaultdict if name == 'main': data = defaultdict(int) data[0] += 1 print(data)
Output 1:
defaultdict(<type 'int'>, {0: 1})
Typical code 2:
if name == 'main': data = {'k': 1} data.setdefault('k', 100) data.setdefault('k1', -100) print(data)
Output 2:
{'k': 1, 'k1': -100}
Application scenarios:
Application scenarios of typical code 1:
When writing some statistical code, it is always necessary Count the number of some key, and use a dictionary to store the counting results. If a classic dictionary is used, then we need to manually write code every time to determine whether the corresponding key exists. If it does not exist, what will happen? It needs to be stored in this dictionary and then initialized to 0; and using defaultdictdata type, we can directly specify a factoryfunction to produce the default value for us, typically Code 1 uses the built-in int function, of course it can also be an anonymous function defined by lambdaexpression.
Application scenarios of typical code 2:
For a dictionary, if we only want to retain the value of each key specified for the first time, if we use the traditional method If data['k']='v', we need to determine whether the corresponding key already exists in the dictionary every time, and then we can decide whether the value of this key can be set; secondly, using the setdefault method of dict, we can avoid This time I decided to implement this function in a more concise way.
Benefits:
1. The setdefault method in scenario 2 has been optimized in the implementation of the Python interpreter. In general The execution efficiency is higher than the Python code with the same function written by yourself
2. These two default situations can make the code more compact, logically, and more efficient to understand when reading the code
OtherInstructions:
1. Defaultdict type, which can receive many types, built-in list , set, and dict can be used directly. Using lambda anonymous functions, you can use your own defined types
Summary
The above is the detailed content of Tips for learning Python about using the default behavior of dictionaries. For more information, please follow other related articles on the PHP Chinese website!