In a previous tutorial, I discussed a very versatile and flexible object type in Python, the list. In this article, I'll continue my review of another flexible Python object type called a dictionary (also known as an associative array or hash). Like lists, dictionaries are an important concept to master in order to move forward in your Python journey.
What is a dictionary?
If you have read the List article, you will easily understand the concept of dictionary. They are very similar to lists, but have two main differences:
- They are unordered collections (different from ordered lists). The
- key is used to access the item rather than the location ( i.e. index).
Each key in the dictionary has a value, which can be any Python object type. That is, a dictionary can be viewed as key-value pairs. However, please note that the key cannot be of type List or Dictionary.
Let’s create an English-French dictionary
As we saw in the previous section, a dictionary is just an unordered set of key-value pairs. Let's use this concept to create our first example: an English-French dictionary. The dictionary can be created as follows:
english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}
Dictionary english_french
Contains five English words, set to the key , and their French meanings set to the value .
Suppose we want to know how to say pen
in French. We just need to do the following:
english_french['pen']
where you will get stylo
as the return value.
Make things more interesting
Suppose we have a french_spanish
dictionary whose words are the same as those in the english_french
dictionary, like this:
french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}
Well, you're asked how to say door
in Spanish, and you don't have an English-Spanish dictionary handy! But, don't worry, there is a solution. Look up the word in your english_french
dictionary, then use the results to look up the french_spanish
dictionary. do you understand? Let's see how to do this in Python:
french_spanish[english_french['door']]
The result should be puerta
. It is not good? Even though you don't have an English-Spanish dictionary, you just got the Spanish word for door
.
More dictionary operations
In the previous example, we saw how to create a dictionary and access the items in the dictionary. Let's see what more we can do with dictionaries. I will use the english_french
dictionary in the example below.
How many entries are there in the dictionary?
In other words, the purpose of this operation is to return the number of key-value pairs in the Dictionary. This can be performed using the len()
operator as follows:
len(english_french)
You should return 5
.
Delete key
Deletion of items in the dictionary is performed via the key . For example, let's say we want to remove the word (key) door
from the dictionary. This can be done simply as follows:
del english_french['door']
This will delete the key door
and its value porte
.
Does the key exist in the dictionary?
In the previous section, we removed the key door
from the dictionary. If we want to check if door
still exists in the dictionary, we enter:
english_french
should return False
.
So, what do you think the following statement will return? Go ahead and give it a try (note not
).
'door' is not in english_french
What happens if we try to access a key that does not exist in the dictionary? Say english_french['door']
. In this case, you will receive an error similar to the following:
Traceback (last call last):
File "dictionary.py", line 7, located in <module></module>
Print english_french['door']
KeyError: 'door'
Create a copy of the dictionary
You may need a copy
of the english_french dictionary and assign it to another dictionary. This can be done simply using the copy()
function as follows:
new_english_french = english_french.copy()
Nested Dictionary
As we mentioned above, the values in a dictionary can be of any type, including dictionaries. This is called nesting. Examples are as follows:
Student = {'ID':{'name':'Abder-Rahman', 'number':'1234'}}
student['ID'] you should get:
{'name': 'Abder-Rahman', 'number': '1234'}
Let’s go back to the
english_french dictionary. You can iterate over the items of a dictionary in several ways:
Words in english_french:
Print word
car
pen
paper
door
table
keys in the result is different from the order in the english_french dictionary. You can now see why I said that dictionaries are treated as unordered collections.
Another way to iterate over
keys is as follows:
For words in english_french.iterkeys():
Print word
iterkeys() function. A similar function that can be used to iterate over values, namely
itervalues(), looks like this:
Meaning used in english_french.itervalues():
Print meaning
voiture
stylo
papier
porte
table
Alternative ways to create a dictionary
There are other ways to create a dictionary in Python using the
dict constructor. Some examples of using
dict to create the same dictionary
ID are as follows:
ID = dict(name = 'Abder-Rahman', number = 1234)
ID = dict([('name','Abder-Rahman'),('number',1234)])
ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # Keys and values as lists
You can do more with dictionaries. Check out the Python documentation for more information.
The above is the detailed content of A refreshing review of Python dictionary basics. For more information, please follow other related articles on the PHP Chinese website!

Python and C each have their own advantages, and the choice should be based on project requirements. 1) Python is suitable for rapid development and data processing due to its concise syntax and dynamic typing. 2)C is suitable for high performance and system programming due to its static typing and manual memory management.

Choosing Python or C depends on project requirements: 1) If you need rapid development, data processing and prototype design, choose Python; 2) If you need high performance, low latency and close hardware control, choose C.

By investing 2 hours of Python learning every day, you can effectively improve your programming skills. 1. Learn new knowledge: read documents or watch tutorials. 2. Practice: Write code and complete exercises. 3. Review: Consolidate the content you have learned. 4. Project practice: Apply what you have learned in actual projects. Such a structured learning plan can help you systematically master Python and achieve career goals.

Methods to learn Python efficiently within two hours include: 1. Review the basic knowledge and ensure that you are familiar with Python installation and basic syntax; 2. Understand the core concepts of Python, such as variables, lists, functions, etc.; 3. Master basic and advanced usage by using examples; 4. Learn common errors and debugging techniques; 5. Apply performance optimization and best practices, such as using list comprehensions and following the PEP8 style guide.

Python is suitable for beginners and data science, and C is suitable for system programming and game development. 1. Python is simple and easy to use, suitable for data science and web development. 2.C provides high performance and control, suitable for game development and system programming. The choice should be based on project needs and personal interests.

Python is more suitable for data science and rapid development, while C is more suitable for high performance and system programming. 1. Python syntax is concise and easy to learn, suitable for data processing and scientific computing. 2.C has complex syntax but excellent performance and is often used in game development and system programming.

It is feasible to invest two hours a day to learn Python. 1. Learn new knowledge: Learn new concepts in one hour, such as lists and dictionaries. 2. Practice and exercises: Use one hour to perform programming exercises, such as writing small programs. Through reasonable planning and perseverance, you can master the core concepts of Python in a short time.

Python is easier to learn and use, while C is more powerful but complex. 1. Python syntax is concise and suitable for beginners. Dynamic typing and automatic memory management make it easy to use, but may cause runtime errors. 2.C provides low-level control and advanced features, suitable for high-performance applications, but has a high learning threshold and requires manual memory and type safety management.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Mac version
God-level code editing software (SublimeText3)

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor