Python四种结构之字典

本文详细介绍了Python字典的基本概念、创建方法(直接赋值、函数创建、键值对创建)、访问和遍历(键、值、键值对),以及常见的增删改查操作,最后强调了字典的一些注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、字典概述

二、字典的创建和删除

三、对字典的访问和遍历

1、访问字典

2、遍历字典

a、遍历字典的键 

b、遍历字典的值

c、遍历所有的键值对

四、字典的常见操作

1、增

2、删除

3、改

4、查

五、注意


一、字典概述

概念:字典是一个由一系列无序键值对组成的可变序列,键和值之间建立了一种映射关系,使得可以通过键来快速查找对应的值。

写法:字典中的每一个元素由键(key)和对应的值(value)组成,键和值之间通过冒号(:)分隔,各个键值对之间则通过逗号(,)分隔。

二、字典的创建和删除

1、直接赋值法

dictname = {"name":"cxk","age":18,"gender":"男"}
print(dictname)
#输出结果为{'name': 'cxk', 'age': 18, 'gender': '男'}

 2、通过字典函数dict创建字典

"""
    通过字典函数创建字典语法格式为:dictionary = dict(zip(list1,list2))
    list1是包含所有的键的列表,list2是包含所有值的列表。
"""

#首先创建两个列表,分别包含键和值。
keys_list = ["name","age","gender"]
values_list = ["cxk",18,"男"]

#然后利用dict函数创建列表,注意dict函数里还有一层压缩函数zip。
dictname = dict(zip(keys_list,values_list))
print(dictname)    #输出结果为{'name': 'cxk', 'age': 18, 'gender': '男'}

3、通过给定的“键-值对”创建字典。

"""
    通过”键-值对“创建字典的语法格式如下:
    dictionary = dict(key1=value1,key2=value2,...,keyn=valuen)
"""

dictname = dict(name = "cxk",age = 18,gender = "男")
print(dictname)    #输出结果为{'name': 'cxk', 'age': 18, 'gender': '男'}

 4、删除字典使用del语句。

dictname = {"name":"cxk","age":18,"gender":"男"}
del dictname    #字典dictname已被删除。

三、对字典的访问和遍历

1、访问字典

访问字典的值主要包含两种方法:

        1、使用键访问字典,语法格式为:dictname[键],注意当键不存在时会报错。

        2、使用get函数访问字典,语法格式为:dictname.get(键,默认值),当键不存在时会返回默认值,不会报错。

dictname = {"name":"cxk","age":18,"gender":"男"}

#1、使用键访问值
print(dictname["name"])     #输出"cxk"。

#2、使用get方法访问值
print(dictname.get("name"))    #输出"cxk"。
print(dictname.get("hobby","唱跳rap篮球"))    #键"hobby"不存在,所有返回默认值"唱跳rap篮球"。

2、遍历字典

a、遍历字典的键 

访问字典的键主要有两种方法:        

        1、使用字典对象的keys()方法可以返回一个包含所有键的可迭代对象,然后使用for循环遍历这些键。

        2、直接使用for循环循环字典。

dictname = {"name":"cxk","age":18,"gender":"男"}

#1、通过keys()函数遍历字典的键。
for key in dictname.keys():
    print(key)
"""
输出结果为:name
           age
           gender
"""

#2、直接使用for循环字典遍历字典的键。
for key in dictname:
    print(key)
"""
输出结果为:name
           age
           gender
"""

b、遍历字典的值

使用字典对象的values()方法可以返回一个包含所有值的可迭代对象,然后使用for循环遍历这些值。

dictname = {"name":"cxk","age":18,"gender":"男"}
for value in dictname.values():
    print(value)
"""
输出结果为:cxk
            18
            男
"""

c、遍历所有的键值对

使用字典对象的items()方法可以返回一个包含所有键值对的可迭代对象,然后使用for循环遍历这些键值对,每个键值对表示为一个(key,value) 元组。遍历时,每次循环会取出一个元组。 

dictname = {"name":"cxk","age":18,"gender":"男"}
for key,value in dictname.items():
    print(key,value)
"""
输出结果为:
            name cxk
            age 18
            gender 男
"""

四、字典的常见操作

 字典的常见操作主要由四种,分别是增、删、改、查

1、增

由于字典是可变序列,所有可以随时向其中添加"添加键值对"

向列表中添加键值对的语法格式如下:

dictname[key] = value

  • dictname表示字典名称。
  • key:表示要增加元素的键,必须是唯一的,并且不可变,例如可以是字符串、数字或者元组。
  • value:表示元素的值,可以是任何数据类型,不是必须唯一。
dictname = {"name":"cxk","age":18,"gender":"男"}
dictname["hobby"] = "唱跳rap篮球"
print(dictname)    
#输出结果为:{'name': 'cxk', 'age': 18, 'gender': '男', 'hobby': '唱跳rap篮球'}

2、删除

 删除字典中的键值对的方法主要有以下几种:

        1、del语句:直接使用del语句删除,语法格式为:del dictname[key]。

        2、pop():删除指定键值对,并返回值,函数参数为键。

        3、clear():清空字典,使字典成为空字典。

#1、使用del语句删除字典中指定的键值对
dictname = {"name":"cxk","age":18,"gender":"男","hobby":"唱跳rap篮球"}
del dictname["hobby"]
print(dictname)
#输出结果为: {'name': 'cxk', 'age': 18, 'gender': '男'}
#2、使用pop函数删除字典中指定的键值对,并返回相应的值。
dictname = {"name":"cxk","age":18,"gender":"男","hobby":"唱跳rap篮球"}
value = dictname.pop("hobby")
print(dictname)    #输出结果:{'name': 'cxk', 'age': 18, 'gender': '男'}
print(value)       #输出结果:"唱跳rap篮球"
#3、使用clear函数清空字典。
dictname = {"name":"cxk","age":18,"gender":"男","hobby":"唱跳rap篮球"}
dictname.clear()
print(dictname)    #输出结果:{}

3、改

 修改字典中的值的语法格式如下:

dictname[key] = newValue 

dictname = {"name":"cxk","age":18,"gender":"男","hobby":"唱跳rap篮球"}
dictname["hobby"] = "好好学习,天天向上"
print(dictname)
#输出结果:{'name': 'cxk', 'age': 18, 'gender': '男', 'hobby': '好好学习,天天向上'}

4、查

字典的查找和字典的访问相同,直接通过键查找值,如果存在,就会返回相应的值,不存在则报错。

五、注意

  •  不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
  • 字典的键值必须不可变,可以用数,字符串或元组充当。由于用列表的值是变化的,就不能作为键。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴鹏_JDZU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值