前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础之字典

Python基础之字典

作者头像
py3study
发布2020-01-17 11:43:00
4980
发布2020-01-17 11:43:00
举报
文章被收录于专栏:python3python3

字典初识

字典的认识

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

代码语言:javascript
复制
# 定义一个字典
user_dict = {"name": "zhangsan", "age": 20, "height": 181}

print(user_dict)
# {'name': 'zhangsan', 'age': 20, 'height': 181}

字典的作用和定义语法

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

字典的定义语法

代码语言:javascript
复制
变量名 = {"key1": "value1", "key2": "value2", "key3": "value3", ... }
eg:
user_dict = {"name": "zhangsan", "age": 20, "height": 181}

字典的定义和取值

代码语言:javascript
复制
# 定义一个字典
user_dict = {"name": "zhangsan", "age": 20, "height": 181}

# 注意,字典是个无序的数据集合,字典的每次输出的结果可能顺序不一致
print(user_dict)
# 字典取值
print(user_dict["name"])
print(user_dict["height"])

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

代码语言:javascript
复制
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键,即可查看;例如:

代码语言:javascript
复制
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.

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

代码语言:javascript
复制
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

字典操作实操

代码语言:javascript
复制
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)  # {}

字典其他扩展

字典 循环遍历

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

代码语言:javascript
复制
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}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字典初识
    • 字典的认识
      • 字典的作用和定义语法
        • 字典的定义和取值
          • 字典的基本使用-增删改查
          • 字典的操作函数
            • 字典操作函数查看
              • 字典常用操作函数罗列
                • 字典操作实操
                • 字典其他扩展
                  • 字典 循环遍历
                    • 字典的应用场景
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档