Python学习日记:day6-----集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习日记:day6-----集合相关的知识,希望对你有一定的参考价值。

1、基础数据类型汇总补充

1,list:
在循环一个列表是,最好不能删除列表中的元素。
2,bool
空列表、int:0、空str、空dict、空set---》bool:false
其余为true
3,dict
dic = dict.fromkeys([1,2,3],‘春哥‘)
print(dic)
技术分享图片
在循环一个字典当中不能删字典内的内容
面试题:
tu1 =(1)----->int
tu2 =(1,)------->tuple
元祖里边只有一个元素,且不加‘,’该是什么类型还是什么类型。

2、集合

1,集合是一个可变数据类型,里边存的元素必须是不可变的数据类型。集合无序,元素不能重复。-------》去重:将列表转化为集合,在转化回去就可以去重。
2,形式 {}: set1 =set({1,2,3})
                print(set1)
      set2={1,2,3}
技术分享图片------》不可哈希:可变数据类型。
增、删、查

增:

1、add
 
set1 = {alex,wusir,ritian,egon,barry}
set1.add(女神)
print(set1)
#set1 = {alex,wusir,ritian,egon,barry,女神 }        

 

2,update---->与extend类似。
#update
set1 = {alex,wusir,ritian,egon,barry}
set1.update(abc)
print(set1)

1,pop

set.pop()#随机删除,有返回值

2,remove

remove#按元素去删。没有这个元素会报错

3,clear

clear#清空集合
4,del
del 删除集合。---》会报错

只能用for去查

3、集合的交集并集差集

1,交集:

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8} set3
= set1& set2 print(set)

或者

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1.intersection(set2))

2,并集

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
 print(set1 | set2) 

或者

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set2.union(set1))

3,反交集

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1 ^ set2)
或者
set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1.symmetric_difference set2)

4,差集

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1.difference(set2))

或者:

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1-set2)
面试题:(去重)
 
li=[1,2,33,33,2,1,4,5,6,6]    
#去除重复元素----set
s1 = set(li)
print(set1) #{1,2,33,4,5,6}
li = list(set1)
print(li)
---------------------------------------------------------------------------------------------------------------------------------------

4、将集合转化为不可变数据类型

        s =frozenset(‘barry‘)---->frozen类型
 

5,深浅拷贝

1,浅copy
li =[1,2,3]
li2 = li.copy()
copy产生了一个新的列表----》copy----》浅copy
2,深copy
技术分享图片
浅copy。赋值运算是共用一个ip地址,切片再赋值是浅copy
 
 

补充:

枚举
for i in enumerate(li):
    print(i)
 技术分享图片

 



以上是关于Python学习日记:day6-----集合的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之day6 集合

Python全栈开发,Day6 - 模块学习

python3 _笨方法学Python_日记_DAY6

Python-模块使用-Day6

python Day6 面向对象学习

Python之路,Day6 - 面向对象学习