广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
13.3.1 键的输出顺序
集合类型的底层实现基于哈希表,键的输出顺序取决于键在哈希表中的存储顺序。
对哈希表结构不是很熟悉的同学,可以复习12.4.4节中的内容。
代码实例:
# __desc__ = 测试集合的键的输出顺序 stars = {"陈法蓉", "陈德蓉", "陈宝莲"} for star in stars: print(_) """ 输出为: "陈德蓉" "陈法蓉" "陈宝莲" """从程序的输出可以分析出,集合中的键的输出顺序不一定是定义或插入时的排列顺序。同学们可以对比下字典的键的输出顺序,在Python 3.6以后,字典中的键按其插入的顺序进行输出:
代码实例:
# __desc__ = 测试字典的键的输出顺序 stars = {"陈法蓉": 0, "陈德蓉": 0, "陈宝莲": 0} for star in stars: print(_) """ 输出为: "陈法蓉" "陈德蓉" "陈宝莲" """从程序的输出可以分析出,字典中的键的输出顺序与键的排列顺序一致。
13.4.2 键的数据类型
集合的键的数据类型同字典中的键的数据类型,必须是静态的、可哈希的数据类型。
迄今为止学过的静态的数据类型有:简单数据类型,字符串,元组。
为什么键必须是静态的数据类型?
Python中的集合类型也是基于哈希表结构,如果键名是静态的,不可变的,那么就能保证通过哈希函数计算时,得到的都是相同的哈希值。如果键名是可变的数据类型,意味着在这个数据类型的生命周期内,它的值是变化的,就不能保证计算得到的是相同的哈希值,所以键名必须是静态的数据类型,以保证其哈希值的唯一性。
13.4.3 集合的快速查找
集合类型基于哈希表结构,所以也能进行快速的查找。但与字典类型不同的是,集合中只有键,没有键值。集合类型适用于这样的应用场景:只用来进行快速查找,而无需关心键所对应的键值。当我们还需要获取键值时,应当使用字典这种数据结构。
代码实例:
# __desc__ = 通过字典和集合来进行快速查找 # 定义一个IP地址黑名单 blacklist = {"120.239.72.105", "120.239.72.108"} remote_addr = "120.239.72.104" if remote_addr not in blacklist: # 如果用户地址不在黑名单中,则允许访问 pass else: # 否则定义禁止用户访问的逻辑 pass # 如果我们需要统计用户访问的次数,那么应当使用字典 statistics = {} if remote_addr in statistics: # 该用户每访问一次,就加一 statistics[remotr_addr] +=1 else: # 用户第一次访问时,设置初值为1 statistics[remotr_addr] =1
13.4.4 知识要点
(1) 集合类型的底层实现基于哈希表,键的输出顺序,取决于键在哈希表中的存储顺序(2) 集合中的键的数据类型必须是静态的数据类型,迄今为止学过的静态的数据类型有:简单数据类型,字符串,元组。(3) 集合类型与字典类型一样,是基于哈希表实现的数据结构。
13.4.5 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料: