python基础:(五)字典


        想必有前面一些基础知识打底,小伙伴应该对接下来的学习有信心了,前面的都比较基础,有c基础的同学可能更好理解,不过也没关系博主写的都是干货哦,只要你多看,多敲代码,熟能生巧哦。

一.字典定义

1.1定义

定义:在python中,字典就是一系列键值对,每个键都与一个值相关联,你可以使用键来访问相关联的值。与键相关联的可以是数、字符串、列表、乃至字典。事实上,可将任何python对象用作字典中的值。

1.2语法

语法

变量 = {
    
    '键1':'值1',
		'键2':'值2',
		'键3':'值3',
		...
		}

ps:最简单的字典就是只有一个键值对,本文例子以python教材中的外星人为例。

二.使用字典

2.1访问字典中的值

alien = {
    
    'color':'green',
         'points':5,
         'x_position':0,
         'y_position':25,}
print(alien['color'])
print(alien['points'])
print(alien)

在这里插入图片描述

2.2添加键值对

键值对的添加就是利用赋值语句,依次从末尾添加,稍微加深就是循环之类的。

2.2.1语法 :
字典变量['键'] =
>>> alien = {
    
    'color':'green','points':5,}
>>> print(alien)
{
    
    'color': 'green', 'points': 5}
>>> alien['x_position'] = 0
>>> alien['y_position'] = 25
>>> print(alien)
{
    
    'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}
2.2.2tips:可以先创建一个空字典,也可以往进添加键值对。
>>> alien ={
    
    }
>>> print(alien)
{
    
    }
>>> alien['color'] = 'green'
>>> alien['x_position'] = 0
>>> print(alien)
{
    
    'color': 'green', 'x_position': 0}

在这里插入图片描述

2.2.3 修改字典中的值

就是利用赋值语句,进行键值对的覆盖即可。

alien = {
    
    'color':'green',}
print(alien)
alien['color'] = 'yellow'
print(alien)

在这里插入图片描述

2.3删除键值对

对于字典中不在需要的信息,可以使用 del 语句进行永久删除,删除后,该键值的键与值对同时消失。

2.3.1语法:
del 字典变量['键']
>>> alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
>>> print(alien)
{
    
    'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}
>>> del alien['x_position']
>>> del alien['y_position']
>>> print(alien)
{
    
    'color': 'green', 'points': 5}

在这里插入图片描述

2.4使用get()访问值

2.4.1说明:

当你访问的键在字典中不存在时就会报错,但当你使用get()访问时,没有键的话则返回一个默认值。

>>> alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
>>> print(alien['hhh'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'hhh'

在这里插入图片描述

2.4.2语法
get('键''没有的话返回这段话!')

练习

>>> alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
>>> print(alien['hhh'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'hhh'
>>> print(alien.get('hhh','没有的话返回这句话!'))
没有的话返回这句话!

在这里插入图片描述

三.遍历字典

3.1使用items()访问键值对

"""声明两个变量,key(键),value(值)"""
alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
for key,value in alien.items():
    print(f"key:{
      
      key}")
    print(f"value:{
      
      value}\n")

在这里插入图片描述

3.2使用keys()访问字典中的键

alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
for key in alien.keys():
    print(f"key:{
      
      key}")

在这里插入图片描述

3.3不使用keys()访问字典中的键

alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
for key in alien:
    print(f"key:{
      
      key}")
   

在这里插入图片描述

3.4使用sorted()按特定顺序遍历字典中所有的键(a->b->c…)

使用规范:sorted(字典变量.keys())

alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
for key in sorted(alien.keys()):
    print(f"key:{
      
      key}")
"""
不使用.keys()结果一样
alien = {'color':'green','points':5,'x_position':0,'y_position':25,}
for key in sorted(alien):
    print(f"key:{key}")

"""

在这里插入图片描述

3.5使用values()遍历字典中的所有值

ps:类比keys()

alien = {
    
    'color':'green','points':5,'x_position':0,'y_position':25,}
for value in alien.values():
    print(f"value:{
      
      value}")

在这里插入图片描述
ps:这种做法提取字典中的所有的值,不考虑值是否重复,若想避免重复,可以使用集合set(),用法同sorted()。

3.6使用set()避免遍历的字典中的值重复

alien = {
    
    'color':'green','points_0':5,'points_1':5,'points_2':5,}
for value in set(alien.values()):
    print(f"value:{
      
      value}")

在这里插入图片描述

3.7tips:创建集合

说明:集合和字典很容易混淆,因为它们都是使用“{}”来进行定义,当括号中没有键值对时,存储的很可能是集合,不同于列表和字典,集合不会以特定的顺序存储元素。

jihe = {
    
    'I','love','python'}
print(jihe)

在这里插入图片描述

四.嵌套

4.1字典中嵌套字典

ps:一个键对应一个值,一个值由多个键值对的信息构成时,值就用字典表示。

total = {
    
    'cars':{
    
    'like_1':'aodi',
                 'like_2':'bmw',
                 },
        'colors': {
    
    'like':'red',
                  'unlike':'blue',
                  },
           }
for key,value in total.items():
    print(f"key:{
      
      key}")
    print(f"value:{
      
      value}\n")

在这里插入图片描述

4.2字典中嵌套列表

ps:一个键对应多个值时,值就用列表表示。

total = {
    
    'cras':['bmw','aodi'],
           'colors':['red','yellow','green'],
           }
for key,value in total.items():
    print(f"key:{
      
      key}")
    print(f"value:{
      
      value}\n")

在这里插入图片描述

4.3列表中嵌套字典(字典列表)

eg

alien_0={
    
    'color':'green',
         'points':5,
         }
alien_1={
    
    'color':'yellow',
         'points':10,
         }
alien_2={
    
    'color':'red',
         'points':15,
         }
aliens = [alien_0,alien_1,alien_2]
for alien in aliens:
    print(alien)

在这里插入图片描述

批量生成外星人

aliens =[]
for alien in range(5): #批量生成五个外星人
    new_alien = {
    
    'colors':'green',
           'points':5,
           }
    aliens.append(new_alien) #添加到空列表的末尾
"""打印外星人"""
for alien in aliens:
    print(alien)

在这里插入图片描述
ps:先掌握一些基础知识,后续在项目中使用所学知识,加深理解,由易到难。

猜你喜欢

转载自blog.csdn.net/qq_63913621/article/details/129155054