第5章、字典

第5章、字典,第1张

第5章、字典 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'])
key1
key2
key3
key4

    忽略方法同样会得到字典中的键值,不过使用方法更方便理解
#示例4
#代码
dict_sample = {'key1':'value1', 'key2':'value2'}
print(dict_sample)
for key0 in dict_sample:
    print(key0)
#输出
{'key1': 'value1', 'key2': 'value2'}
key1
key2

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() 方法,但d出的元素随机(可以存储查看被删掉的元素):
      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() 函数将列表转换成集合,将重复的值保留一个

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5721356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存