2024年最新binder 面试,Python零基础入门篇 - 27 - Python中集合的常用方法,字节跳动内部面试题

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

update 函数的功能:在集合中加入一个新的集合(或者列表、元组、字符串),如果新集合内的元素在原集合中存在则无视。

update 函数的用法:set.update(iterable) ;iterable为集合、列表、元组、字符串;无返回值,直接作用于原集合。

示例如下:

test_set = set()

test_list = [‘name’, ‘age’, ‘birthday’]

test_set.update(test_list)

print(test_set)

执行结果如下:

>>> {‘birthday’, ‘age’, ‘name’} 列表的成员(元素)被添加进集合

test_tuple = (666, 888)

test_set.update(test_tuple)

print(test_set)

执行结果如下:

>>> {‘name’, ‘birthday’, ‘age’, 888, 666} 元组的成员(元素)被添加进集合

name = ‘Neo’

test_set.update(name)

print(test_set)

执行结果如下:

>>> {‘name’, ‘N’, ‘birthday’, ‘e’, ‘age’, ‘o’, 888, 666} 字符串是每个字符都作为元素被添加进集合的

remove 函数

remove函数的功能:将集合中某个元素删除,如果该元素不存在则会报错。

remove函数的用法:set.remove(item) ;item 为当前集合中的一个元素;无返回值,直接作用于原集合。

需要注意的是,item 为集合中的某一个元素,而不是索引。

示例如下:

test_set = set()

test_list = [‘name’, ‘age’, ‘birthday’]

test_set.update(test_list)

print(test_set)

执行结果如下:

>>> {‘name’, ‘birthday’, ‘age’}

test_set.remove(‘age’)

print(test_set)

执行结果如下:

>>> {‘birthday’, ‘name’}

test_set_01 = set()

test_set.remove(‘test’)

print(test_set_01)

执行结果如下:

>>> KeyError: ‘test’ 'test’元素不存在则报错。

clear 函数

clear 函数的功能:清空当前集合中所有的元素

clear 函数的用法:set.clear() ;无返回值,直接作用于原集合。

示例如下:

test_set = set()

test_list = [‘name’, ‘age’, ‘birthday’]

test_set.clear()

print(test_set)

执行结果如下:

>>> set()

del 方法删除集合

del 的功能:直接删除 (作用于集合,无法通过索引删除)

示例如下:

test_set = set()

test_list = [‘name’, ‘age’, ‘birthday’]

test_set.update(test_list)

print(test_set)

执行结果如下:

>>> {‘birthday’, ‘age’, ‘name’}

del test_set

print(test_set)

执行结果如下:

>>> NameError: name ‘test_set’ is not defined.

关于集合的重要说明

  • 集合无法通过索引获取元素

  • 集合无获取元素的任何方法

  • 集合只是用来处理列表或元组的一种临时类型,它不适合存储、传输数据

获取两个集合交、并、差集的函数


difference() 函数

什么是差集:

a 和 b 两个集合,由所属于 a 且不属于 b 的元素组成的集合叫做 a 集合 与 b 集合 的差集。

difference() 函数的功能:返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中。

difference() 函数的用法:a_set.difference(b_set) ;b_set 为当前集合需要比对的集合;返回值为原集合作用于对比集合的差集。(即 a_set 与 b_set 的差集)

示例如下:

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’}

names_set_02 = {‘Jack’, ‘Adem’, ‘Albina’}

names_diff = names_set_01.difference(names_set_02)

print(names_diff)

执行结果如下:

>>> {‘Lily’, ‘Neo’}

intersection() 函数

什么是交集?

a 和 b 两个集合,分别拥有相同的元素集,称之为 a 集合 与 b 集合 的交集。

intersection() 函数的功能:返回两个或者更多个集合中都包含有的元素。(即交集)

intersection() 函数的用法:a_set.inersection(b_set...) ;b_set… 为当前集合需要比对的一个或者多个集合;返回值为原集合作用于对比集合的交集。

示例如下:

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’, ‘Adem’}

names_set_02 = {‘Jack’, ‘Adem’, ‘Albina’}

names_set_03 = {‘Apollo’, ‘Ben’, ‘Adem’}

names_inter = names_set_01.intersection(names_set_02, names_set_03)

print(names_inter)

执行结果如下:

>>> {‘Adem’}

union() 函数

什么是并集?

a 和 b 两个集合中所有的元素(去掉重复的),即为 a 集合 与 b 集合 的并集。

union() 函数的功能:返回多个集合的并集,即包含了所有集合的元素(重复的元素,只出现一次)

union() 函数的用法:a_set.union(b_set...) ;b_set… 为当前集合需要比对的一个或者多个集合;返回值为原集合作用于对比集合的并集。

示例如下:

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’, ‘Adem’}

names_set_02 = {‘Jack’, ‘Adem’, ‘Albina’}

names_set_03 = {‘Apollo’, ‘Ben’, ‘Adem’}

names_union = names_set_01.union(names_set_02, names_set_03)

print(names_union)

执行结果如下:

>>> {‘Lily’, ‘Neo’, ‘Albina’, ‘Apollo’, ‘Jack’, ‘Ben’, ‘Adem’}

判断两个集合中是否存在相同的元素


isdisjoint() 函数

isdisjoint()函数的功能:判断两个集合是否包含相同的元素,如果没有返回 True , 否则就返回 False

isdisjoint()函数的用法:a_set.isdisjoint(b_set) ;b_set 为与当前集合用来判断的集合;返回值为布尔值

示例如下:

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’, ‘Adem’}

names_set_02 = {‘Jack’, ‘Adem’, ‘Albina’}

names_isdisjoint = names_set_01.isdisjoint(names_set_02)

print(names_isdisjoint)

执行结果如下:

>>> False

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’}

names_set_02 = {‘Ben’, ‘Adem’, ‘Albina’}

names_isdisjoint = names_set_01.isdisjoint(names_set_02)

print(names_isdisjoint)

执行结果如下:

>>> True

拓展 - 集合的 ‘&、|、- 运算符’


  • & 符可以计算两个集合的交集,与集合的intersection()函数实现的功能一样

  • | 符可以计算两个集合的并集,与集合的union()函数实现的功能一样

  • - 运算符可以计算两个集合的差集,与集合的difference()函数实现的功能一样

代码示例如下:

交集

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’, ‘Adem’}

names_set_02 = {‘Jack’, ‘Adem’, ‘Albina’}

names_set_03 = {‘Apollo’, ‘Ben’, ‘Adem’}

names_inter = names_set_01.intersection(names_set_02, names_set_03)

names_inter_01 = names_set_01 & names_set_02 & names_set_03

print(names_inter)

print(names_inter_01)

执行结果如下:

>>> {‘Adem’}

>>> {‘Adem’}

差集

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’}

names_set_02 = {‘Jack’, ‘Adem’, ‘Albina’}

names_diff = names_set_01.difference(names_set_02)

names_diff_01 = names_set_01 - names_set_02

print(names_diff)

print(names_diff_01)

执行结果如下:

>>> {‘Lily’, ‘Neo’}

>>> {‘Lily’, ‘Neo’}

并集

names_set_01 = {‘Neo’, ‘Lily’, ‘Jack’, ‘Adem’}

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
sdnimg.cn/a353983317b14d3c8856824a0d6186c1.png)

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-QnI9jJeg-1713821364010)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值