欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

第5章、字典

时间:2023-08-18
5.1、一个简单的字典 5.1.1、字典的表示 字典的标识是花括号,元素以 键-值对 成对组成,键key 对应有值value ;键、值之间用冒号隔开,键-值对 之间用逗号隔开

语法:dict_name = {key1: value1, key2: value2}

空字典用空的花括号表示

语法:dict_name = {}

5.1.2、字典的一些特征 字典的标识是花括号,元素以 键-值对 成对组成,键key 对应有值value ;键、值之间用冒号隔开,键key 作用类似于索引键-值对 在Python 3.6 以前是无序的,但往后变得有序(键的添加顺序)可以将任何Python 对象做字典的值,可以是数字、字符串、列表乃至字典字典的键的类型必须是可哈希类型,列表和字典不可做字典的键,数字、字符串、元组都可以字典里的键必须唯一,如果有重复,会将相同键所关联的值同时指向最后一次相同键所设定的(对应的)值 5.2、使用字典 5.2.1、访问字典 要访问字典键值对的值,可以通过字典中 键-值对 的键访问

#示例1#代码dict_i = {'ID':'apple.D', 'liked-fruit':'西瓜'}print("my id is " + dict_i['ID'])#输出my id is apple.D

5.2.2、添加 键-值对 通过字典名添加,将新的键写在字典名后方括号里,通过赋值的方式,将键与值相关联起来

语法:dict_name[new_key] = value

5.2.3、修改键所关联的值 通过键来索引,赋值的方法改变键所关联的值
注意:这和 键-值对 的添加有相似之处,在确定不添加 键-值对 的情况下,请先判断字典是否包含要修改的键

语法:dict_name[key] = new_value

5.2.4、删除 键-值对 使用del 语句将指定的 键-值对 彻底删除,须指定字典及要删除的键

语法:del dict_name[key]

5.2.5、使用多行来定义字典 当定义字典时,字典 键-值对 过多或过长,选择多行定义是非常方便的用法:左花括号后回车,每个 键-值对 前缩进4 空格,键-值对 后加上逗号回车,最后的 键-值对 后可不加逗号,将右花括号放在最后 键-值对 下一行并缩进相同空格

#示例2#代码dict_i = { 'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4', }print(dict_i)#输出{'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}

5.3、遍历字典 5.3.1、遍历所有 键-值对 使用items() 方法,将字典中的所有 键-值对 生成以元组为元素的列表,每个元组依次包含一个 键-值对 的键和值使用for 循环,for 后的变量分别记录每次的得到的键与其相关联的值,之间用逗号隔开

语法:for key, value in dict_name.items():

注意:对于是否顺序获得键值,参考所使用的Python 版本(本专栏参考书目中顺序随机,) 5.3.2、遍历所有的键 keys() 方法将提取字典中所有的键,构建一个成列表

语法:for key in dict_name.keys()

#示例3#代码dict_sample = { 'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4', }print(dict_sample.keys())for key0 in dict_sample: print(key0)#输出dict_keys(['key1', 'key2', 'key3', 'key4'])key1key2key3key4

忽略方法同样会得到字典中的键值,不过使用方法更方便理解

#示例4#代码dict_sample = {'key1':'value1', 'key2':'value2'}print(dict_sample)for key0 in dict_sample: print(key0)#输出{'key1': 'value1', 'key2': 'value2'}key1key2

5.3.3、按顺序遍历字典中的所有键 使用keys() 方法会得到字典中所有键的一个列表,对该列表使用方法sort() 或使用函数sorted() 获得一个有序的列表,再使用for 循环遍历键的有序列表 5.3.4、遍历字典中的所有值 values() 方法获得关于字典中所有值的一个列表,使用集合(set )将值中的重复项剔除,使用set() 函数,将列表转换成集合

语法:for value in set(dict_name.values())
此语法使for 循环遍历集合,集合由set() 函数将values() 方法获得的字典的值的列表转换而成

5.3.5、集合(补充) 性质及表示
集合用花括号表示,其中元素无序(无索引)且不重复语法: set_name = {date1, date2}
遍历与操作
可以使用for 循环遍历集合(获得顺序随机),使用关键字in 判断是包含某元素使用len() 函数获取集合长度因为无索引,不能改其中元素的值,可以添加元素和删除元素
添加元素:
1)add() 方法,add 括号内参数是需要加入的元素:
  set_name.add(veriable_name)
2)update() 方法,添加多个元素,参数可以是列表、集合)(可以是多个这些类型,他们所包含的元素作为插入的元素):
  set_name.update([date1,date2], [date3, date4])
删除元素:
1)使用remove() 方法,参数是需要删除的元素,没有该元素会报错:
  set_name.remove(veriable_name)
2)使用discard() 方法,同remove() 方法,但不会没有删除的元素时报错:
  set_name.discard(veriable_name)
3)使用pop() 方法,但弹出的元素随机(可以存储查看被删掉的元素):
  set_name.pop()
清空集合:
1)使用clear() 方法,得到一个空集合:
  set_name.clear()
彻底删除集合
1)del 语句,将不能再访问原定义的集合变量
  del set_name集合的合并
1)使用union() 方法,返回包含原两集合所有元素的新集合:
  new_set = set1.union(set2)
2)使用update() 方法,将原集合其中一个的元素插入到另一个中

  参考网页说明Python 集合

5.4、嵌套 5.4.1、字典列表与列表字典 在列表中包含字典,列表的元素可以是字典在字典中包含列表,字典的值可以是列表字典中包含字典,字典的值可以是字典 本章包含的方法、函数和语句总结

  不包含集合的相关内容

方法 keys() 方法获得字典所有的键,返回一个列表values() 方法获得字典所有的值,返回一个列表 函数 set() 函数将列表转换成集合,将重复的值保留一个

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。