关于Python字典和集合的基础知识点汇总

一.字典:

1)字典的概念:

          在Python中,字典(Dictionary)是一种无序、可变且可迭代的数据结构,用于存储键-值对(key-value pairs)。它也被称为关联数组或哈希表。字典使用大括号 {} 来表示,每个键-值对之间使用冒号 : 分隔,键和值之间使用逗号 , 分隔。

以下是字典的一些特点和概念:

  1. 键唯一性:字典中的键必须是唯一的,如果同一个键被多次指定,后面的值将覆盖前面的值。

  2. 可变性:字典是可变的,可以通过添加、删除和修改键值对来改变字典的内容。

  3. 无序性:字典中的键值对没有固定的顺序,每次遍历字典时,键值对的顺序可能会发生变化。

  4. 字典方法:Python提供了许多内置的字典方法,用于对字典进行操作,例如添加键值对、删除键值对、获取键值对等。

          Python中的字典在有些地方被称为哈希(Hash),有些地方被称为关系数组,其实这些都与字典是同一概念 。                

         如上图所示的键(key)和值(value)的一对一关系,如1 -> google,2 -> runoob 即为字典的图例。

          映射类型区别于序列类型,序列类型以数组的形式存储,通过索引的方式来获取相应位置的值,一般索引值与对应位置存储的数据是毫无关系的。

         列表brand,slogn的索引和相对的值是没有任何关系的,但是可以看出,在两个列表之间索引号相同的元素是有关系的,上述索引的方法确实可以实现,但用起来比较别扭,且效率不高,所以不推荐这种用法,了解即可。

2)创建和访问字典:

        (1)字典的使用非常简单,它有自己的标志性符号,就是用大括号({})来定义,字典由“键”和“值”共同构成,每一对键值组合称为"项”。

         如图便是创建了一个名为dict1的字典并对其进行输出。在字典的创建过程中要注意的是,字典的“键”必须是独一无二的,但值不必,值可以是任意数据类型,但必须是不可变的,如字符串,元组等

         (2)也可以通过内置函数dict()来创建字典:

         要注意的是dict()函数只能要有一个参数,因此需要把字典打包为一个元组(列表)序列。

        (3)还可以通过提供映射关系的参数来创建字典

        在字典中不允许一个建出现两次,如果同一个键被赋值两次,后一个键会被记住,以下是几种创建同一种字典的方式,大家可以参考一下。

         

         需要注意的是,字典与列表不同,字典是不支持通过“+”来连接或是进行重复操作,这些都是会报错的。

2)关于字典的内置方法:

        1.fromkeys()方法用于创建迁返回一个新的字典,它有两个参数:第一个参数是字典的
键;第二个参数是可选的,是传入键对应的值,如果不提供,那么默认是None。

        

        但是这个方法不是很经常用到,所以了解即可。 

        2.以下是一些比较常用的方法:

  1. ict.get(key, default):获取指定键对应的值,如果键不存在,则返回默认值 default,如果不提供默认值,则返回 None

  2. dict.keys():返回一个包含字典所有键的可迭代对象。

  3. dict.values():返回一个包含字典所有值的可迭代对象。

  4. dict.items():返回一个包含字典所有键值对的可迭代对象,每个键值对表示为一个元组 (key, value)

  5. dict.update(other_dict):将其他字典 other_dict 中的键值对更新到当前字典中。如果键已存在,则会覆盖对应的值。

  6. dict.pop(key, default):移除并返回指定键对应的值,如果键不存在,则返回默认值 default,如果不提供默认值,则会抛出 KeyError

  7. dict.popitem():随机弹出并返回一个键值对作为元组,用于遍历字典。

  8. dict.clear():清空字典,删除所有的键值对。

  9. dict.copy():创建并返回一个字典的浅拷贝副本。

  10. len(dict):返回字典中键值对的数量。

二.集合

         字典在Python中是对数学概念的支持的直接映射,而与此同时也有一个与字典近似定义方法的存储方式-------“集合”。

1)集合与字典的关系:  

      

         如图所示,相同的{}定义出了不同的存储类型,num1即为字典,而num2就是与其相近的集合了,在Python3.中,如果用大括号括起一堆数字但没有体现出映射关系,那么就认为这堆数据为一个集合而不是映射。

        集合在Python中体现的最大特点就是两个字:唯一.

2) 创建集合:

        常见的创建集合有两种方式:一种是直接把元素用大括号括起来,另一种就是使用内置函数set()。

        如图set1与set2相同,返回结果为true,说明二者相同,而在创建集合使用set()方法的时候要注意set()的参数只有一个,因此可以把一大堆数打包为一个列表或者是一个元组后,传入set()函数中,那么接下来就是集合的最主要特点:唯一。

        如图,现在要去除列表[1,2,3,4,5,6,6,1,7]中的重复元素,可以这么写。

        以此便达到所需要的列表,但是这个代码可不可以缩短呢?答案是可以的,我们可以通过借助集合的唯一性来实现这个要求。

3)访问集合:

        由于集合中的元素是无序的,所以并不能像序列那样用下标来进行访问,但是可以通过迭代器来把集合中的数据一个个的读取出来。       

        可以使用in和not in来判断一个元素是否在集合中。

        而向集合中添加元素则可以使用add()方法,删除元素则可以使用remove()方法。

        以上便是关于字典和集合的相关内容,希望对大家有帮助.

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值