IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python基础篇——字典 -> 正文阅读

[Python知识库]python基础篇——字典

python基础篇——字典


??hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。

1. 字典基础知识

字典:是可变的无序集合,以键值对为基本元素可以存储各种数据类型的集合,用大括号({})表示字典的开始和结束,元素之间用半角逗号(,)分隔。键值对,由键(key)和值(value)组成,中间用冒号(:)分隔。如:“wky”:28。字典属于典型的一对一的映射关系的数据类型。

  • 字典可以理解为“映射”,映射是一种键(索引)和值(数据)的对应
    在这里插入图片描述
  1. 字典的基本格式表示
>>> #空字典
>>> {}
{}
>>> #定义一个元素的字典变量
>>> d1 = {"wky":28}
>>> len(d1)
1
>>> d2 = {"wky":1,"lyj":2}
>>> len(d2)
2
>>> 
  1. 字典的键、值设置要求
    1)键的设置要求
    (1)唯一性:一个字典对象里所有的键必须是唯一的。
>>> d3={1:"wky",2:"lyj",2:"lyj"}
>>> len(d3)
2
>>> d3={1:"wky",2:"lyj",2:"wa"}
>>> len(d3)
2

在定义字典变量时,python允许输入重复的元素,但是在调用时,python只会保留最后一个键相同的元素。为了避免出现问题,在定义字典对象时,应该养成严格定义每个元素键并保证键的唯一性的良好习惯。

??(2)不可变性,字典在使用过程中不能对元素的键进行直接修改。

>>> d2={"wkys":1,"lyj":2}    #wky错误写成wkys

?1)值的设置要求
在这里插入图片描述

2. 字典元素增加

  1. 利用赋值给字典增加元素

>>> d2 = {"wky":1,"lyj":2}
>>> d2["wa"]=3
>>> d2
{'wky': 1, 'lyj': 2, 'wa': 3}
>>> 

上述增加元素的前提是:要求字典里没有新增的键,否则会修改指定键的值。

列表变量带中括号与字典变量带中括号之间的区别:
(1)列表:L[x]=value的方法,修改对应的元素,x为指定的下标
(2)字典:D[x]=value的方法,为字典增加新元素,k为指定的键,且k在字典对象中不存在。

  1. 利用setdefault()方法给字典增加元素
    setdefault()使用格式为D.setdefault(k[,d])。D代表字典对象,k代表新增键,d代表新增键对应的值(若不提供值,则默认值为None)
>>> d1={"wky":1,"lyj":2}
>>> d1.setdefault("wa",10)
10
>>> d1
{'wky': 1, 'lyj': 2, 'wa': 10}
>>> d1.setdefault('wake')
>>> d1
{'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> 

用setdefault()方法新增键值对时,若指定键已经存在,则只显示已经存在键的值。

3. 字典值查找

  1. 字典名+[key]查找
>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2["lyj"]
2

若指定的键在字典对象中不存在会报错。

>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2['w']
Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    d2['w']
KeyError: 'w'         #提示键出错
  1. 利用get()方法查找
    get()方法使用格式D.get(k[,d]),D代表字典对象,k为指定的键,d为键对应的值。
>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2.get("wky")
1
>>> #查找字典中不存在的键
>>> d2.get('w')
>>> 

get()方法指定的键在字典中不存在时返回空值。

4. 字典值修改

  1. 利用赋值修改键对应的值
>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2["wake"]=99
>>> d2
{'wky': 1, 'lyj': 2, 'wa': 10, 'wake': 99}
>>> 
  1. 利用update()方法修改键对应的值
    update()方法的使用格式D.update(d1),D代表要更新的字典对象,d1为提供更新内容的字典。若d1中提供的键在D中,则更新D里对应的键值,若不存在,则增加键值对。
    1)更新字典里键对应的值
>>> d1={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2={"wky":10,"wake":89}
>>> d1.update(d2)
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}

???2)新增键值对

>>> d1={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d1.update({"wakeyo":100})
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89, 'wakeyo': 100}

5. 字典元素删除

  1. 利用del函数删除
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89, 'wakeyo': 100}
>>> del(d1["wakeyo"])
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> 
  1. 利用pop()方法删除
    pop()方法使用格式D.pop(k[,d]),D代表字典,k代表需要删除的元素的键,d为键对应的值(可选)。
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> pl=d1.pop('wake')
>>> pl
89
>>> 
  1. 利用popitem()方法删除
    popitem()方法使用格式D.popitme(),D代表字典,随即返回一个键值对元组,并在字典里删除对应的元素。
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> k1,v1=d1.popitem()
>>> k1,v1
('wake', 89)
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10}
>>> t1=d1.popitem()
>>> t1
('wa', 10)
>>> type(t1)
<class 'tuple'>
>>> 

del函数、pop()方法、popitem()方法若对不存在的元素进行操作时,都将报错。

6. 字典遍历操作

  1. 遍历所有键值对:利用items()方法遍历所有键值对
    items()方法使用格式D.items(),D代表字典,以元组形式返回字典的所有元素。
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_l in d1.items():
	print(get_l)

#结果	
('wky', 10)
('lyj', 2)
('wa', 10)
('wake', 89)
>>> d1.items()
dict_items([('wky', 10), ('lyj', 2), ('wa', 10), ('wake', 89)])
>>> type(d1.items)
<class 'builtin_function_or_method'>
>>> 
  1. 遍历所有键
    1)利用字典变量循环遍历
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for gets in d1:
	print(gets)

#结果	
wky
lyj
wa
wake

???2)利用keys()方法获取字典键

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_l in d1.keys():
	print(get_l)

#结果	
wky
lyj
wa
wake
  1. 遍历所有值
    1)通过键遍历值
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_key in d1:
	print(d1[get_key])

#结果	
10
2
10
89

???2)利用values()方法获取字典值

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_v in d1.values():
	print(get_v)

#结果	
10
2
10
89

7. 字典其他操作方法

  1. in成员操作
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> if "wky" in d1.keys():
		print("wky在字典里")
	else:
		print("wky不在字典里")


wky在字典里
  1. clear()方法
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> d1.clear()
>>> d1
{}
  1. copy()方法
>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> d2=d1.copy()
>>> d2
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> id(d1)
2432414090296
>>> id(d2)
2432414587208
>>> d3=d2
>>> id(d3)
2432414587208

通过copy()方法的复制,可以避免字典变量之间直接赋值指向同一个地址。

  1. fromkeys()方法
    fromkeys()方法使用格式D.fromkeys(iterable),D代表字典,iterable代表列表对象,用于指定字典键,生成的D的键对应的值默认为None。
>>> d1={}.fromkeys(["wky","lyj","wa"])
>>> d1
{'wky': None, 'lyj': None, 'wa': None}
>>> 

总结

??本文属于作者原创,转载请注明出处,不足之处,希望大家能过给予宝贵的意见,如有侵权,请私信。每天一个knowledge point,一起学python,让技术无限发散。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:42:06  更:2021-07-28 07:45:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 15:21:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码