Python 字典详解

目录
  • 什么是字典?
  • 创建字典
    • 1. 直接赋值
    • 2. 使用 dict()函数创建空字典
    • 3. 获取字典元素
    • 4. 唯一的键,如果字典中有俩个或多个相同的键,默认取最后一个
  • 小结:
  • 字典的增
  • 字典的改
  • 字典的删
    • 1. del 方法
    • 2. pop 方法
    • 3. popitme 方法
    • 4. clear 方法
  • 字典的查
  • 字典取值
    • 1. keys 方法
    • 2. values 方法
    • 3. items 方法
  • 字典复制
  • 遍历字典
  • 总结

什么是字典?

字典在 Python 中是一个无序的数据集合,字典使用键值对进行存储。

Dict = {'key':'value'}

创建字典

  • 直接赋值,使用花括号 { }
  • 使用 Dict函数 创建空字典

1. 直接赋值

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
print(Dict)
print(type(Dict))

>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
>>> <class 'dict'>

2. 使用 dict()函数创建空字典

Dict = dict()
print(Dict)
print(type(Dict))

>>> {}
>>> <class 'dict'>

3. 获取字典元素

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
print(Dict['察查司'])

>>> 陆之道

4. 唯一的键,如果字典中有俩个或多个相同的键,默认取最后一个

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏', '罚恶司': '李鬼'}
print(Dict['罚恶司'])

>>> 李鬼

小结:

  • 字典由键(key)和值(value)组成。
  • 创建可以使用花括号,也可以使用 dict 函数,元素之间用逗号隔开,键值之间使用冒号隔开。
  • 注:键(key)必须是不可变类型,比如数字,字符串,而值(value)随意。
  • 字典元素使用键(key)来获取。
  • 键是唯一的,尽量不要相同。

字典的增

Dict[键] = '值'
Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Dict['居民'] = '绘梦狮'
print(Dict)

>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏', '居民': '绘梦狮'}

字典的改

方法 描述
直接修改 直接修改,方法跟增差不多
update 将字典元素添加到另一个字典中,如果被添加字典已有该元素则修改,否则增加
Dict[键] = '值'
Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
# 如果字典中已存在该键则修改对应的值,否则增加
Dict['罚恶司'] = '绘梦狮'
print(Dict)

>>> {'赏善司': '魏征', '罚恶司': '绘梦狮', '察查司': '陆之道', '阴律司': '崔珏'}

2. 使用 update 方

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Dict2 = {'天师': '钟馗', '罚恶司': '天师钟馗'}
Dict.update(Dict2)
print(Dict)

>>> {'赏善司': '魏征', '罚恶司': '天师钟馗', '察查司': '陆之道', '阴律司': '崔珏', '天师': '钟馗'}

字典的删

方法 描述
del 删除某个元素,或删除整个字典
pop 删除某个元素
popitme 删除字典中最后一个元素
clear 清空字典

1. del 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
# 删除某个元素根据键
del Dict['罚恶司']

# 删除整个字典
# del Dict

print(Dict)

>>> {'赏善司': '魏征', '察查司': '陆之道', '阴律司': '崔珏'}

2. pop 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Dict.pop('赏善司')
print(Dict)

>>> {'罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}

3. popitme 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Dict.popitem()
print(Dict)

>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道'}

4. clear 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Dict.clear()
print(Dict)

# 因为字典被清空了
>>> {}

字典的查

方法 描述
in 判断元素是否在字典中,返回值为 Bool
not in 与 in 相反

因为这是通用方法,前面已经说了很多次,现在就跳过了。

字典取值

方法 描述
keys
获取字典中的键,返回一个迭代

values 获取字典中的值,返回一个迭代
items 获取字典的键值,返回一个迭代

1. keys 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Key = Dict.keys()
print(Key)

# 对于迭代对象我们可以遍历它,或者将它转化为列表进行操作
>>> dict_keys(['赏善司', '罚恶司', '察查司', '阴律司'])

2. values 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Value = Dict.values()
print(Value)

# 对于迭代对象我们可以遍历它,或者将它转化为列表进行操作
>>> dict_values(['魏征', '钟馗', '陆之道', '崔珏'])

3. items 方法

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
Item = Dict.items()
print(Item)

# 对于迭代对象我们可以遍历它,或者将它转化为列表进行操作
>>> dict_items([('赏善司', '魏征'), ('罚恶司', '钟馗'), ('察查司', '陆之道'), ('阴律司', '崔珏')])

字典复制

老样子使用 copy 函数

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
copy_Dict = Dict.copy()
Dict.clear()
print(Dict)
print(copy_Dict)

>>> {}
>>> {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}

遍历字典

  • 遍历 key
  • 遍历 value
  • 遍历 item
  • 遍历 key - value

1. 遍历 key

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for i in Dict.keys():
    print(i)

>>> 赏善司
    罚恶司
    察查司
    阴律司

2. 遍历 value

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for i in Dict.values():
    print(i)

>>> 魏征
    钟馗
    陆之道
    崔珏

3. 遍历 item

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for i in Dict.items():
    print(i)

>>> ('赏善司', '魏征')
    ('罚恶司', '钟馗')
    ('察查司', '陆之道')
    ('阴律司', '崔珏')

4. 遍历 key与 value

Dict = {'赏善司': '魏征', '罚恶司': '钟馗', '察查司': '陆之道', '阴律司': '崔珏'}
for key, value in Dict.items():
    print(key, value)

>>> 赏善司 魏征
    罚恶司 钟馗
    察查司 陆之道
    阴律司 崔珏

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python字典深浅拷贝与循环方式方法详解

    本节内容 深浅拷贝 循环方式 字典常用方法总结 一.深浅拷贝 列表.元组.字典(以及其他) 对于列表.元组和字典而言,进行赋值(=).浅拷贝(copy).深拷贝(deepcopy)而言,其内存地址是变化不通的. 赋值(=) 赋值只是创建一个变量,该变量指向原来的内存地址 >>> name1 = ['a','b',['m','n'],'c'] >>> name2 = name1 #输出结果,两个内存地址是一样的 >>> print(id(name1),'

  • python字符串,元组,列表,字典互转代码实例详解

    python字符串,元组,列表,字典互相转换直接给大家上代码实例 #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class

  • Python基础之字典常见操作经典实例详解

    本文实例讲述了Python基础之字典常见操作.分享给大家供大家参考,具体如下: Python字典 Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典. 创建字典 Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建 函数dict >>> info = {} >>> info = dict() 初始化字典 Python可以在创建字典的时候初始化字典 >>> info = {"name

  • Python字典添加,删除,查询等相关操作方法详解

    一.创建增加修改 1.实现代码 #创建 stu_info = { "xiedi":28, "liuhailin":27,"daiqiao":30,"hanwenhai":25,"chenqun":38} print(stu_info) #增加 stu_info["luoahong"]=32 print(stu_info) #修改 stu_info["xiedi"]=2

  • python字典的元素访问实例详解

    说明 1.字典中没有下标的概念,使用key值访问字典中对应的value值.当访问的key值不存在时,代码会报错. 2.get('key'):直接将key值传入函数,当查询到相应的value值时,返回相应的值,当key值不存在时,返回None,代码不会出错. 3.get(key,数据):当查询相应的value值时,返回相应的值,当没有key值时,返回自定义的数据值. 实例 # 定义一个字典 dic = {'Name': '张三', 'Age': 20} # 使用 key 值访问元素 print(d

  • python 字典和列表嵌套用法详解

    python中字典和列表的使用,在数据处理中应该是最常用的,这两个熟练后基本可以应付大部分场景了.不过网上的基础教程只告诉你列表.字典是什么,如何使用,很少做组合说明. 刚好工作中采集prometheus监控接口并做数据处理的时候,用了很多组合场景,列出几个做一些分享. 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现

  • Python 字典详解

    目录 什么是字典? 创建字典 1. 直接赋值 2. 使用 dict()函数创建空字典 3. 获取字典元素 4. 唯一的键,如果字典中有俩个或多个相同的键,默认取最后一个 小结: 字典的增 字典的改 字典的删 1. del 方法 2. pop 方法 3. popitme 方法 4. clear 方法 字典的查 字典取值 1. keys 方法 2. values 方法 3. items 方法 字典复制 遍历字典 总结 什么是字典? 字典在 Python 中是一个无序的数据集合,字典使用键值对进行存储

  • Python数学建模PuLP库线性规划进阶基于字典详解

    目录 1.基于字典的创建规划问题 2.线性规划问题案例 3.建立模型 (1)决策变量 (2)目标函数 (3)约束条件 (4)变量取值范围 4.PuLP 程序1:使用 LpVariable 逐一定义变量 5.PuLP 程序2:使用 dict 定义决策变量和约束条件 6.Python程序和运行结果 1.基于字典的创建规划问题 上篇中介绍了使用 LpVariable 对逐一定义每个决策变量,设定名称.类型和上下界,类似地对约束条件也需要逐一设置模型参数.在大规模的规划问题中,这样逐个定义变量和设置模型

  • python生成密码字典详解

    代码和代码运行的结果: 代码: import itertools as its words="rot123" a=its.product(words,repeat=4) name=open("pass.txt","a") for i in a: name.write("".join(i)) name.write("".join("\n")) name.close() 代码解析: #导入模

  • Python基础详解之描述符

    一.描述符定义 描述符是一种类,我们把实现了__get__().__set__()和__delete__()中的其中任意一种方法的类称之为描述符. 描述符的作用是用来代理一个类的属性,需要注意的是描述符不能定义在被使用类的构造函数中,只能定义为类的属性,它只属于类的,不属于实例,我们可以通过查看实例和类的字典来确认这一点. 描述符是实现大部分Python类特性中最底层的数据结构的实现手段,我们常使用的@classmethod.@staticmethd.@property.甚至是__slots__

  • Python语法详解之decorator装饰器

    python 是一门优雅的语言,有些使用方法就像魔法一样.装饰器(decorator)就是一种化腐朽性为神奇的技巧.最近一直都在使用 Tornado 框架,一直还是念念不忘 Flask .Flask 是我最喜欢的 Python 框架,最早被它吸引也是源自它使用装饰器这个语法糖(Syntactic sugar)来做 Router,让代码看上去就感觉甜甜的. Tornado 中的 Router 略显平淡,怀念 Flask 的味道,于是很好奇的想知道 Flask 是如何使用这个魔法.通过阅读 Flas

  • Golang与python线程详解及简单实例

    Golang与python线程详解及简单实例 在GO中,开启15个线程,每个线程把全局变量遍历增加100000次,因此预测结果是 15*100000=1500000. var sum int var cccc int var m *sync.Mutex func Count1(i int, ch chan int) { for j := 0; j < 100000; j++ { cccc = cccc + 1 } ch <- cccc } func main() { m = new(sync.

  • python getopt详解及简单实例

     python getopt详解 函数原型: getopt.getopt(args, shortopts, longopts=[]) 参数解释: args:args为需要解析的参数列表.一般使用sys.argv[1:],这样可以过滤掉第一个参数(ps:第一个参数是脚本的名称,它不应该作为参数进行解析) shortopts:简写参数列表 longopts:长参数列表 返回值: opts:分析出的(option, value)列表对. args:不属于格式信息的剩余命令行参数列表. 源码分析 在An

  • Python注释详解

    注释用于说明代码实现的功能.采用的算法.代码的编写者以及创建和修改的时间等信息. 注释是代码的一部分,注释起到了对代码补充说明的作用. Python注释 Python单行注释以#开头,单行注释可以作为单独的一行放在被注释的代码行之上,也可以放在语句或者表达式之后. #Give you a chance to let you know me print("Give you a chance to let you know me") say_what = "this is a d

  • python 类详解及简单实例

    python 类详解 类 1.类是一种数据结构,可用于创建实例.(一般情况下,类封装了数据和可用于该数据的方法) 2.Python类是可调用的对象,即类对象 3.类通常在模块的顶层进行定义,以便类实例能够在类所定义的源代码文件中的任何地方被创建. 4.实例初始化 instance = ClassName(args....) 类在实例化时可以使用__init__和__del__两个特殊的方法. class ClassName(base): 'class documentation string'

  • 神经网络理论基础及Python实现详解

    一.多层前向神经网络 多层前向神经网络由三部分组成:输出层.隐藏层.输出层,每层由单元组成: 输入层由训练集的实例特征向量传入,经过连接结点的权重传入下一层,前一层的输出是下一层的输入:隐藏层的个数是任意的,输入层只有一层,输出层也只有一层: 除去输入层之外,隐藏层和输出层的层数和为n,则该神经网络称为n层神经网络,如下图为2层的神经网络: 一层中加权求和,根据非线性方程进行转化输出:理论上,如果有足够多的隐藏层和足够大的训练集,可以模拟出任何方程: 二.设计神经网络结构 使用神经网络之前,必须

随机推荐