An article to help you understand the basic dictionary knowledge of Python

Release: 2023-07-25 15:33:46
forward
733 people have browsed it

1. Foreword

If there is a list and the name "xiaoWang" needs to be written incorrectly, the code must be modified through the corresponding index value.

nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi']
nameList[1] = 'xiaoxiaoWang
Copy after login

If the order of the list has changed, as follows:

nameList = ['xiaoWang', 'xiaoZhang',  'xiaoLi']
Copy after login

At this time You need to modify the subscript to complete the name modification.

 nameList[0] = 'xiaoxiaoWang'
Copy after login

#Is there any way to store multiple data and locate the required one easily while accessing the elements? What about that element? This is the dictionary.


## 2. Introduction to the dictionary

  • Dictionaries, like lists, can also store multiple data.

  • #When looking for an element in the list, it is based on the subscript.

  • When looking for an element in the dictionary, it is based on the 'name' (that is, the value in front of the colon:, such as 'name', ' id', 'sex').

  • #Each element of the dictionary consists of 2 parts, key: value. For example, 'name':'monitor', where 'name' is the key and 'monitor' is the value.

  • Access value based on key

    Example:

  • # #
    info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
    
    
    print(info['name'])
    
    
    print(info['address'])
    Copy after login
Run result:


若访问不存在的键,则会报错:

>>> info['age']


Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  
KeyError: &#39;age&#39;
Copy after login

在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值。

>>> age = info.get(&#39;age&#39;)
>>> age    #&#39;age&#39;键不存在,所以age为None
>>> type(age)
<type &#39;NoneType&#39;>
>>> age = info.get(&#39;age&#39;, 18) # 若info中不存在&#39;age&#39;这个键,就返回默认值18
>>> print(age) 
18  #运行结果
Copy after login

1. 字典的常见操作

<1> 添加元素

info = {&#39;name&#39;:&#39;班长&#39;, &#39;sex&#39;:&#39;f&#39;, &#39;address&#39;:&#39;地球亚洲中国北京&#39;}


print(&#39;id为:%d&#39;%info[&#39;id&#39;])
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python

如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素。

添加新的元素。

info = {&#39;name&#39;:&#39;班长&#39;, &#39;sex&#39;:&#39;f&#39;, &#39;address&#39;:&#39;地球亚洲中国北京&#39;}


# print(&#39;id为:%d&#39;%info[&#39;id&#39;])#程序会终端运行,因为访问了不存在的键


newId = input(&#39;请输入新的学号&#39;)


info[&#39;id&#39;] = newId


print(&#39;添加之后的id为:%d&#39;%info[&#39;id&#39;])
Copy after login

运行结果:

请输入新的学号188
添加之后的id为: 188
Copy after login

<2> 删除元素

对字典进行删除操作,有一下几种:

  • del

  • clear()

del删除指定的元素

info = {&#39;name&#39;:&#39;班长&#39;, &#39;sex&#39;:&#39;f&#39;, &#39;address&#39;:&#39;地球亚洲中国北京&#39;}


print(&#39;删除前,%s&#39;%info[&#39;name&#39;])


del info[&#39;name&#39;]


print(&#39;删除后,%s&#39;%info[&#39;name&#39;])
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python

del删除整个字典。

info = {&#39;name&#39;:&#39;monitor&#39;, &#39;sex&#39;:&#39;f&#39;, &#39;address&#39;:&#39;China&#39;}


print(&#39;删除前,%s&#39;%info)


del info


print(&#39;删除后,%s&#39;%info)
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python

clear清空整个字典。

info = {&#39;name&#39;:&#39;monitor&#39;, &#39;sex&#39;:&#39;f&#39;, &#39;address&#39;:&#39;China&#39;}


print(&#39;清空前,%s&#39;%info)


info.clear()


print(&#39;清空后,%s&#39;%info)
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python

<3> 修改元素

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改。

info = {&#39;name&#39;:&#39;班长&#39;, &#39;id&#39;:100, &#39;sex&#39;:&#39;f&#39;, &#39;address&#39;:&#39;地球亚洲中国北京&#39;}


newId = input(&#39;请输入新的学号&#39;)


info[&#39;id&#39;] = int(newId)


print(&#39;修改之后的id为%d:&#39;%info[&#39;id&#39;])
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python


2. 字典的常见操作2

<1>len()

测量字典中,键值对的个数。

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}


print(len(dict))
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python

<2>keys

返回一个包含字典所有KEY的列表。

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}


print(dict.keys())
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python


<3>values

返回一个包含字典所有value的列表。

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}


print(dict.values())
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python


<4>items

返回一个包含所有(键,值)元祖的列表。

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}


print(dict.items())
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python


三、遍历

语法:通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。

注意 :Python语法的缩进

先看一下字符串,列表和元组是怎么遍历的。

字符串遍历

>>> a_str = "hello itcast"
>>> for char in a_str:
...     print(char,end=&#39; &#39;)
...
h e l l o   i t c a s t #运行结果
Copy after login

列表遍历

>>> a_list = [1, 2, 3, 4, 5]
>>> for num in a_list:
...     print(num,end=&#39; &#39;)
...
1 2 3 4 5 #运行结果
Copy after login

元组遍历

>>> a_turple = (1, 2, 3, 4, 5)
>>> for num in a_turple:
...     print(num,end=" ")
1 2 3 4 5 #运行结果
Copy after login

字典遍历

1 . 遍历字典的key(键)

An article to help you understand the basic dictionary knowledge of Python


2 . 遍历字典的value(值)

An article to help you understand the basic dictionary knowledge of Python


3. 遍历字典的项(元素)

An article to help you understand the basic dictionary knowledge of Python


4. 遍历字典的key-value(键值对)

An article to help you understand the basic dictionary knowledge of Python


5. enumerate()

chars = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;]
for i, chr in enumerate(chars):
    print(i, chr)
Copy after login

运行结果:

An article to help you understand the basic dictionary knowledge of Python


四、总结

本文以生活中字典的实际应用,主要介绍了Python字典的基础知识,用丰富的案例,帮助大家更好的去了解字典常见的的基础操作。

The above is the detailed content of An article to help you understand the basic dictionary knowledge of Python. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:Go语言进阶学习
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template