字典初识

字典的认识

首先,我们来认识一下字典:

# 定义一个字典
user_dict = {"name": "zhangsan", "age": 20, "height": 181} print(user_dict)
# {'name': 'zhangsan', 'age': 20, 'height': 181}

字典的作用和定义语法

  • 字典是除列表之外最灵活的数据类型;
  • 字典同样可以用来存储多个数据,但字典通常用来存储 描述一个物体的相关信息
  • 列表元组中我们更在意的是顺序,按索引顺序取值;在字典中我们更在意的是键和值;
  • 列表元组有序,而字典无序;(补充一下,在pycharm运行下,其实基本都是按定义的键值对顺序输出的)
  • 字典使用键值对存储数据,几对 键值对之间用逗号分隔;键key是索引,值value是数据;键和值之间用冒号:分隔;键必须是唯一的;值可以取任何数据类型,但键必须是字符串,数字或者元组

字典的定义语法

变量名 = {"key1": "value1", "key2": "value2", "key3": "value3", ... }
eg:
user_dict = {"name": "zhangsan", "age": 20, "height": 181}

字典的定义和取值

# 定义一个字典
user_dict = {"name": "zhangsan", "age": 20, "height": 181} # 注意,字典是个无序的数据集合,字典的每次输出的结果可能顺序不一致
print(user_dict)
# 字典取值
print(user_dict["name"])
print(user_dict["height"])

字典的基本使用-增删改查

user_dict = {"name": "zhangsan", "age": 20, "height": 181}

# 取值,注意,如果取值的key不存在,会报错
print(user_dict["name"]) # 增加/修改
print(user_dict)
# 如果key不存在,会新增键值对;存在则进行修改
user_dict["gender"] = "man"
user_dict["age"] = 21
print(user_dict) # 删除,注意,如果删除键值对 时key不存在,会报错
user_dict.pop("height")
print(user_dict)

字典的操作函数

字典操作函数查看

在ipython3交互式下,定义一个空字典, 空字典. 按下tab键,即可查看;例如:

In [1]: user_dict = {}

In [2]: user_dict.
user_dict.clear user_dict.items user_dict.setdefault
user_dict.copy user_dict.keys user_dict.update
user_dict.fromkeys user_dict.pop user_dict.values
user_dict.get user_dict.popitem In [2]: user_dict.

由此可见,字典的操作函数有:

user_dict.clear       user_dict.items       user_dict.setdefault
user_dict.copy user_dict.keys user_dict.update
user_dict.fromkeys user_dict.pop user_dict.values
user_dict.get user_dict.popitem

字典常用操作函数罗列

方法 描述
len(dict) 获取字典的 键值对 数量
dict.keys() 所有 key列表
dict.values() 所有 value列表
dict.items() 所有 (key,value)元组列表
dict[key] 从字典取值,key不存在会报错
dict.get(key) 从字典取值,key不存在不会报错
del dict[key] 删除指定键值对,key不存在会报错
dict.pop(key) 删除指定键值对,key不存在会报错
dict.pop(item) 随机删除一个键值对
dict.clear() 清空字典
dict[key] = value key存在,修改value;key不存在,新增键值对
dict.setdefault(key, value) key存在,不会修改value;key不存在,新增键值对
dict.update(dict2) 将字典2的数据合并到字典1

字典操作实操

user_dict = {"name": "zhangsan", "age": 20, "height": 181}

# 1.统计键值对数量
print(len(user_dict)) # 3 # 2.合并字典
# 注意,如果被合并的字典2中有已经存在于字典1中的键值对,新的键值对会覆盖原字典的
gender = {"gender": "man"}
user_dict.update(gender)
print(user_dict)
# {'name': 'zhangsan', 'age': 20, 'height': 181, 'gender': 'man'} # 3.请空字典
user_dict.clear()
print(user_dict) # {}

字典其他扩展

字典 循环遍历

遍历 就是 依次从字典中获取键值对;

但在实际开发中,由于字典的每一个键值对保存数据的数据类型时不一样的,所以针对字典的循环遍历的情况不怎么多;

user_dict = {"name": "zhangsan", "age": 20, "height": 181}

# k 是每次循环中,获取到的键值对的key
for k in user_dict:
print("%s: %s"% (k, user_dict[k])) # name: zhangsan
# age: 20
# height: 181

字典的应用场景

  • 使用 多个键值对,存储描述一个物体的相关信息,描述更复杂的数据信息

  • 将多个字典·1放在一个列表中,再进行遍历,在循环内部针对每一个字典进行相同的处理;

    students = [

    {"name": "zhangsan", "age": 19, "height": 175},

    {"name": "lisi", "age": 19, "height": 178}

    ]

    for stu in students:

    # 字典是无序的,列表是有序的,所以会先输出张三的字典,再输出李四的字典,但字典内部顺序不定

    print(stu)

    # {'name': 'zhangsan', 'age': 19, 'height': 175}

    # {'name': 'lisi', 'age': 19, 'height': 178}

Python基础之字典的更多相关文章

  1. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  2. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  3. python基础之字典、集合

    一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...

  4. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  5. python基础5 字典

    一.字典 字典是python的基础数据类型之一:字典可以存储大量的数据,关系型数据. 同样他也是python中唯一的映射类的数据类型. 数据类型的分类: 可变的(不可哈希)数据类型:list,dict ...

  6. python基础_字典_列表_元组考试_day4

    1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'] li=['alex','eric','rain'] v="_".jo ...

  7. Python基础__字典、集合、运算符

    之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I' ...

  8. python基础类型—字典

    字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...

  9. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  10. python基础之字典以及增删改查

    字典:字典是python中唯一的一个映射类型,主要形式为 dic = {key1:value,key2:value2,....} 字典中key的值是唯一的,主要关系到HASH算法,并且key的值必须是 ...

随机推荐

  1. dart 如何优雅的避空

    前言 对于每一个程序员来说,空指针异常应该是基本都会遇到过的异常,而且这个异常出现的概率还比较大. 但是,空指针异常又是最容易解决的异常,因为只要加个非空判断就可以避免了. 本篇通过对比一般非空判断和 ...

  2. 使用 FFT 进行频谱分析

    下面的示例说明了如何使用 FFT 函数进行频谱分析.FFT 的一个常用场景是确定一个时域噪声信号的频率分量. 首先创建一些数据.假设是以 1000 Hz 的频率对数据进行的采样.首先为数据构造一条时间 ...

  3. 批量插入一张表的数据,并且生成不同的uuid 字符截取 批量更新 去除重复数据

    INSERT INTO party_branchSELECT UUID(),m.name,m.secreta_name,m.contacts_name,m.contact_phon,m.categor ...

  4. JAVA文件的上传与访问

    /** * 各种文件上传与判断 * types 文件类型(1图片 2视频 3文件) */@RequestMapping(method = RequestMethod.POST, path = &quo ...

  5. 判断HTML中的checkbox是否被选中

    //合法性验证 function checkValidity() { var userNameCheck = $("#userNameCheck").attr('checked') ...

  6. Java 枚举类详解

    1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static f ...

  7. 搭建属于自己的GIT服务器——pingg

    1.下载并安装jdk. 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  8. 5G网络与4G相比,有什么区别?

    5G 是 2018 年移动通信领域的热词.从中兴的芯片卡脖事件,联想 5G 投票风波再到华为频遭威胁.这些事件都引起了大家对于 5G 的关注,那么 5G 到底是什么,它和 4G 有什么区别呢? 今天就 ...

  9. 微信小程序开发03-这是一个组件

    编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...

  10. JSP 内置对象(上)

    JSP 内置对象是 Web 容器创建的一组对象,不使用 new 关键字就可以直接使用的对象.如上一章中使用脚本实现打印九九乘法表中的out对象 <%-- 脚本:out对象是JSPWriter类的 ...