search
HomeBackend DevelopmentPython TutorialA refreshing review of Python dictionary basics

Python 字典基础知识的令人耳目一新的回顾

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:

  1. They are unordered collections (different from ordered lists).
  2. The
  3. 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:

"Gate" in

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'}}

##So if you enter

student['ID'] you should get:

{'name': 'Abder-Rahman', 'number': '1234'}

Iteration Dictionary

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

The result of this statement is as follows:

car

pen

paper

door

table

Please note that the order of the

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

Please note that we use the

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

The results in this example should look like this:

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Python vs. C  : Understanding the Key DifferencesPython vs. C : Understanding the Key DifferencesApr 21, 2025 am 12:18 AM

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.

Python vs. C  : Which Language to Choose for Your Project?Python vs. C : Which Language to Choose for Your Project?Apr 21, 2025 am 12:17 AM

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.

Reaching Your Python Goals: The Power of 2 Hours DailyReaching Your Python Goals: The Power of 2 Hours DailyApr 20, 2025 am 12:21 AM

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.

Maximizing 2 Hours: Effective Python Learning StrategiesMaximizing 2 Hours: Effective Python Learning StrategiesApr 20, 2025 am 12:20 AM

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.

Choosing Between Python and C  : The Right Language for YouChoosing Between Python and C : The Right Language for YouApr 20, 2025 am 12:20 AM

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 vs. C  : A Comparative Analysis of Programming LanguagesPython vs. C : A Comparative Analysis of Programming LanguagesApr 20, 2025 am 12:14 AM

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.

2 Hours a Day: The Potential of Python Learning2 Hours a Day: The Potential of Python LearningApr 20, 2025 am 12:14 AM

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 vs. C  : Learning Curves and Ease of UsePython vs. C : Learning Curves and Ease of UseApr 19, 2025 am 12:20 AM

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.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

mPDF

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

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MinGW - Minimalist GNU for Windows

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

Atom editor mac version download

The most popular open source editor