Take stock of the basics of Python dictionaries

Release: 2023-07-25 16:19:51
forward
629 people have browsed it

1. Foreword

If there is a list and the name "xiaoWang" needs to be modified, 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 Modifications.

  nameList[0] = 'xiaoxiaoWang'
Copy after login

Is there a way to store multiple data and locate the required element easily while accessing the element? This is the dictionary.


2. Introduction to dictionaries

  • Dictionaries and lists Similarly, multiple data can also be stored.

  • #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:

Take stock of the basics of Python dictionaries

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

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

<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

运行结果:

Take stock of the basics of Python dictionaries

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

添加新的元素。

   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

运行结果:

Take stock of the basics of Python dictionaries

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

运行结果:

Take stock of the basics of Python dictionaries

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

运行结果:

Take stock of the basics of Python dictionaries

<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

运行结果:

Take stock of the basics of Python dictionaries


2. 字典的常见操作2

<1>len()

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

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}
print(len(dict))
Copy after login

运行结果:

Take stock of the basics of Python dictionaries

<2>keys

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

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}
print(dict.keys())
Copy after login

运行结果:

Take stock of the basics of Python dictionaries

<3>values

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

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}
print(dict.values())
Copy after login

运行结果:

Take stock of the basics of Python dictionaries

<4>items

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

dict={"name":&#39;zahnsan&#39;,&#39;sex&#39;:&#39;m&#39;}
print(dict.items())
Copy after login

运行结果:

Take stock of the basics of Python dictionaries


三、遍历

语法:通过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(键)

Take stock of the basics of Python dictionaries

2 . 遍历字典的value(值)

Take stock of the basics of Python dictionaries

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

Take stock of the basics of Python dictionaries

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

Take stock of the basics of Python dictionaries


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

运行结果:

Take stock of the basics of Python dictionaries


四、总结

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

The above is the detailed content of Take stock of the basics of Python dictionaries. 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