Python学习--day 12

084.集合之交集并集差集

  • 产生集合的两种方法——使用set直接add,逐渐添加元素;或可以使用列表将元素暂存再转化为集合。
  • 其他的集合符号操作
    in符号——6 in set1,in操作支持,如果元素在集合中返回True
    not in符号——6 not in set1,同理也支持
    ==符号——set1==set2,如果两个集合中的元素都一样,则返回True;反之返回False
    !=符号——同理也支持。
  • 两个集合之间的操作:set1 = {1,2,3,4} set2={1,2,3,4,5}
    +操作——set3 = set1 + set2,不被支持的操作
    *操作——set3 = set1 * 2,不被支持的操作
    -操作——set4 = set2 - set1,支持,返回集合2中有集合1中没有的元素集合或返回空集合,就是差集操作
    &操作——set3 = set2 & set1交集操作,支持,可以返回两个集合共有的元素
    |操作——set4 = set1 | set2并集操作,支持,返回两个集合的全部元素
  • 差集函数——difference(),找出两个集合的差集
    set1.difference(set2)——找出集合1中有而集合2中没有的元素
    set2.difference(set1)——找出集合2中有而集合1中没有的元素
 set3 = set2.difference(set1)
 print(set3)
 # 输出:
 # {5}
 set3 = set1.difference(set2)
 print(set3)
 # 输出:
 # set()
  • 交集函数——intersection(),找出两个集合共有的元素
    set5 = set1.intersection(set2)

  • 并集的操作——union(),将两个集合的全部内容放到一个集合中
    set4 = set2.union(set1)

  • 应用:找出两个列表的不同元素
    我的答案:(见085对称差集)

 l1 = [5,1,2,9,0,3]
 l2 = [7,2,5,7,9]
 set1 = set(l1)
 set2 = set(l2)
 set3 = (set1 - set 2) | (set2 - set1)
 print(set3)
  • 应用:找出两个列表的共同元素
list1 = [5,1,2,9,0,3]
list2 = [7,2,5,7,9]
set1 = set(list1)
set2 = set(list2)
set3 = set1.intersection(set2)
print(set3)

085.集合对称差和总结

  • 对称差集:(两个集合的所有不同的元素)有以下两个表示方法
    result = (s1 | s2) - (s1 & s2)
    result = s1 ^ s2
    result = s1.symmatric_difference(s2)
  • difference_update()
    set1.difference_update(set2)——求差集并更新set1,将原来的set1与set2的差集赋值给set1
  • 同理可以理解union_update()、intersection()、symmatric_difference_update()的用法及含义。
  • 集合总结:
    关键字:set
    常用的领域:去重
    符号:- & | ^
    内置函数:增加:add()、update();删除:remove()、discard()、pop()、clear();运算:difference()、intersection()、union()、symmatric_difference()

086.可变和不可变

  • 不可变:对象所指向的内存中的值是不可以改变的。
    整型int、字符串string、浮点数float、元组类型tuple
    每次创建这类数据时,python底层会先开辟空间将内容存放,再将变量指向该地址。
s1 = 'abc'
print(id(s1))
s1 = 'abcd'
print(id(s1))
# 显示结果:
# 1578301227312   1578301308784
  • 可变:该对象指向的值是可以改变的
    可变类型有:字典dict、列表list、普通的set

  • 可变:地址不变里面内容改变,list dict set

  • 不可变:只要内容改变,必须改变地址,int str float tuple frozenset

  • 老师让自己私下测定的集合,frozenset是属于不可变的类型。测试代码如下。

  • 集合的内置函数之frozenset()
    fset = frozenset(set1)——将集合set1冻结,集合内的元素无法再删除或添加。

087.类型转换

  • 类型转换:int()、str()、list()、tuple()、dict()、set()
  • str可以转成:整型(当str是数字的时候'8'),列表、集合、元组
  • 整型可以转字符串、列表可以转变为字符串【str(['a','b,'c'])–>[‘a’,‘b’,‘c’]】、集合元组字典浮点数都可以转变为字符串
  • 列表可以转成set、也可以转元组、转字典有条件(要求包括两个元素的键值对)
  • 集合能转列表
  • 元组能转列表
  • 字典能转列表,只将key放到列表中,类似字典的keys()方法。

088.pycharm简介

老师粗略介绍了pycharm界面的设置等,看视频吧,记笔记就算了。
创建文件点击file的时候要指定格式,选择python文件后直接输入文件名称就可以。

089.项目结构和函数简介

  • 建立python的包
    项目中涉及到很多的py文件的时候,使用package很好;代码比较少的时候直接建立py文件就可以。
  • 函数的引入——对重复的代码提供调用,提高代码的复用性,强化代码的模块性,提高代码的重复利用率。
  • 定义函数:def
    必须使用关键字,函数体注意缩进,函数名和括号是绑定的。
 def 函数名 (参数1,参数2):
 	函数体
  • 实战1——定义函数,完成随机数的产生
improt random

# 注意标准化的代码书写,要求引入和方法定义之间最少有两个空行
def get_list ():
	for i in range(10):
		a = random.randint(120)
		print(a)	

明天继续,今天少了点哈哈,在意料之中,明天多补一点吧,python基础就有200集,这才不到100集用了12天。。。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页