Python 高级数据类型之字典(dictionary)

news/2024/7/19 12:05:00 标签: python, 列表

以下是本人最近学习字典中的相关说明及代码分享。

字典的定义

  • dictionary(字典) 是 除列表以外 Python之中 最灵活的数据类型
  • 字典同样可以用来存储多个数据
    • 通常用于存储描述一个物体的相关信息
  • 列表的区别
    • 列表有序对象的集合
    • 字典无序对象的集合
  • 字典用 {} 定义
  • 字典使用键值对存储数据,键值对之间用 , 分隔
    • key 是索引
    • value 是数据
    • 键和值之间用:分隔
    • 键必须是唯一
    • 可以取任何数据类型,但 只能是 字符串,数字或元组

字典常用操作方法
在ipython3中定义一个列表person_dict ={"name":"小明"}
输入person_dict. 按下Tab键,ipython会提示列表能够使用的方法如下:

python">clear()  get    pop         update
copy     items  popitem     values
fromkeys keys   setdefault
序号关键字/函数/方法说明
1字典.clear()删除字典内所有元素
2字典.copy()返回一个字典的浅复制
3dict.fromkeys(seq,value)创建一个新字典,以元组seq中元素做字典的键,val为字典所有键对应的初始值
4字典.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
5key in 字典如果键在字典dict里返回true,否则返回false
6字典.items()列表返回可遍历的(键, 值) 元组数组
7字典.keys()返回一个迭代器,可以使用 list() 来转换为列表
8字典.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9字典…update(字典2)把字典2的键/值对更新到字典里
10字典.values()返回一个迭代器,可以使用 list() 来转换为列表
11字典.pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12字典.popitem()随机返回并删除字典中的最后一对键和值。
dictionary_09_字典的定义

代码

python"># 字典是一个无序的数据集合,使用print函数输出时,通常和定义的顺序是不一致的
person = {"name": "小明",
          "age": 18,
          "gender": True,
          "height": 1.98,
          "weight": 77.5}

print(person)

输出结果

{‘name’: ‘小明’, ‘age’: 18, ‘gender’: True, ‘height’: 1.98, ‘weight’: 77.5}

dictionary_10_字典基本使用

代码

python">person_dict = {"name": "小明",
               "age": 23}
# 取值
print(person_dict["name"])
# 在取值时,指定的key不存在,程序会报错 KeyError: 'name23'
# print(person_dict["name23"])

# 增加/修改
person_dict["height"] = 1.76
print(person_dict)
person_dict["age"] = 18
print(person_dict)
# 删除
person_dict.pop("age")
print(person_dict)

输出结果

小明
{‘name’: ‘小明’, ‘age’: 23, ‘height’: 1.76}
{‘name’: ‘小明’, ‘age’: 18, ‘height’: 1.76}
{‘name’: ‘小明’, ‘height’: 1.76}

dictionary_11_字典的其他操作

代码

python">person_dict = {"name": "小明",
               "age": 23}
# 统计字典键值对数量
print(len(person_dict))

# 合并字典
temp_dict = {"height": 1.98,
             "age": 18}
# 如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
person_dict.update(temp_dict)
print(person_dict)

# 创建一个新字典
seq = ("xingming","nianling","shengao")
new_dict = dict.fromkeys(seq, 10)
print(new_dict)

# 清空字典
person_dict.clear()
print(person_dict)

输出结果

2
{‘name’: ‘小明’, ‘age’: 18, ‘height’: 1.98}
{‘xingming’: 10, ‘nianling’: 10, ‘shengao’: 10}
{}

dictionary_12_字典遍历

代码

python">person_dict = {"name": "小明",
               "address": "https://blog.csdn.net/weixin_44152160/article/details/105347472",
               "Phone": "weixin_44152160"}

# 迭代遍历字典
for k in person_dict:
    print("%s---%s" % (k, person_dict[k]))

输出结果

name—小明
address—https://blog.csdn.net/weixin_44152160/article/details/105347472
Phone—weixin_4415216

dictionary_13_字典的应用场景

代码

python"># 使用多个键值对存储描述物体的信息,
# 将多个字典放在列表中进,进行循环
card_list = [{"name": "张三",
              "QQ": "666666",
              "Phone": "10086"},
             {"name": "李四",
              "QQ": "888888",
              "Phone": "10010"}]

for card_info in card_list:
    print(card_info)

输出结果

{‘name’: ‘张三’, ‘QQ’: ‘666666’, ‘Phone’: ‘10086’}
{‘name’: ‘李四’, ‘QQ’: ‘888888’, ‘Phone’: ‘10010’}


http://www.niftyadmin.cn/n/648038.html

相关文章

纯css的锥形图案,和三角形图案

2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title></title> <style> #demo { width: 0; he…

JAVA获取客户端IP地址和MAC地址

DatagramSocket(Socket之UDP套接字) 释义 1.获取客户端IP地址 public String getIp(HttpServletRequest request) throws Exception {String ip request.getHeader("X-Forwarded-For");if (ip ! null) {if (!ip.isEmpty() && !"unKnown".equals…

安卓log4k问题解决

1.直接上代码 //log4k问题public static void log(String tag, String str) {int index 0; // 当前位置int max 3800;// 需要截取的最大长度,别用4000String sub; // 进行截取操作的stringwhile (index < str.length()) { if (str.length() < max) { // 如果长度比最…

Python 高级数据类型之字符串(string)

以下是本人最近学习字符串的相关说明及代码分享。 字符串的定义 字符串 就是 一串字符&#xff0c;是编程语言中表示文本的数据类型在Python中可以使用一对双引号" 或者一对单引号 ’ 定义一个字符串 虽然可以使用 " 或 ’ 做字符串的转义&#xff0c;但是实际开发…

CXF Web Service入门实例一

最近开发开始学习Web Service&#xff0c;如果你是大神&#xff0c;请路过&#xff01;谢谢&#xff01;遵循前辈大神们的教导~~~&#xff0c;内事不决问度娘&#xff0c;外事不决问谷歌&#xff08;现在谷歌已经不能用了&#xff09;&#xff0c;只能问度娘了&#xff01;上网…

Python 容器类型公共方法

1、Python内置函数 函数描述备注len(item)计算容器中元素个数del(item)删除变量del 有两种方式 del item /del(item)max(item)返回容器中元素的最大值如果是字典&#xff0c;只针对key比较min(item)返回容器中元素的最小值如果是字典&#xff0c;只针对key比较cmp(item1,item2…

php的命名空间层级与目录层级是一致的吗?

php的命名空间和目录的层级之间并不是说一定 要一致&#xff0c;两者之间没有必然的联系。并没有直接的关联&#xff0c;当然了&#xff0c;推荐关联起来&#xff0c;不然管理会非常混乱&#xff0c;但你确实可以自己实现一个Autoload来管理“混乱”的namespace&#xff0c;只是…

Python 小白简单上手《名片管理系统》

搭建名片管理系统 框架结构 准备文件&#xff0c;确定文件名&#xff0c;保证能够在需要的位置编写代码&#xff08;新建 cards_main.py 保存 主程序功能代码【1、程序的入口&#xff1b;2、每次启动名片管理系统都通过main 这个文件启动】&#xff09;编写 主运行循环&#x…