集合与函数

摘要:
该集合是一组无序的哈希值。1.不同的元素由2组成。无序3。集合中的元素必须是不可变类型。使用{}创建集合。Add()向集合中添加元素。随机删除remove()以删除集合中的元素,但如果删除集合中不存在的元素,则会发生错误。discard()方法还可以用于使用union()函数-“或使用difference()函数删除集合中的元素。add()方法只能向集合中添加一个值。

变量用来记录状态的变化。

可变类型与不可变类型:修改变量的值,ID值不变,则为可变数据类型,如果修改变量的值,ID变了,则该变量为不可变类型。

1.不可变类型:字符串,数字,元组,用frozenset()创建的集合为不可变集合。没有add()等方法。

2.可变数据类型:列表,字典,集合

访问顺序分类:

1.顺序访问:字符串,列表,元组

2.映射:字典

3.直接访问:数字

存放元素个数:

1.容器类型:列表,元组,字典

2.原子类型:数字,字符串

 集合定义及基本操作:

定义:由不同元素组成的集合,集合中是一组无序排列的hash值,可以作为字典的key特性:

集合的目的是将不同的值存放到一起,不同的集合间用来作关系运算,无序纠结于集合中的单个值。

集合的特性:

1.不同元素组成

2.无序

3.集合中元素必须是不可变类型

集合使用{}来创建,也可以使用set()来创建。

集合常用的方法:

add()向集合添加元素。

pop()删除集合中的元素,随机删

remove()删除集合中的元素,但是删除指定的元素,所以有参数,但是如果删除集合中没有的元素将会出现错误。

clear()清空集合。

discard()方法删除集合中的元素,如果指定删除的元素不存在,不会出现错误。

集合关系运算交,差,并集。

集合之间的交集可以使用符号&来实现,也可以使用intersection()函数来实现。

集合与函数第1张

集合之间的并集可以使用符号“|”来实现,也可以使用union()函数来实现。

集合与函数第2张

 集合之间的差集可以使用符号“-"或者使用difference()函数来实现。

集合与函数第3张

集合的其他内置方法:

交叉补集

集合与函数第4张

注意:集合当中的<=,>=是求集合的子集或者父集,issubset()是求子集,issuperset()是求父集。返回值为TRUE或FALSE。

 集合与函数第5张

集合与函数第6张

add()方法只能给集合中添加一个值,但是update()方法可以添加多个值,union()函数不更新集合,只是求并集。

集合可以用来去重,可以将一个列表转化为集合,使用set(列表),也可以将一个集合转化为列表,使用list(集合)方法;

字符串格式化:

+只可以将字符串拼接,顺序不能变。使用%s可以进行任意位置的插入,比如

print("i am %s my hobby is alex" %"zhangya")结果为i am zhangya my hobby is alex

当字符串中要插入多个值是,使用如下格式

print("i am %s my hobby is %s" %("zhangya","alex"))结果为i am zhangya my hobby is alex
总结:当插入多个值时,使用(“字符串1”,“字符串2”),两个字符串之间使用逗号隔开
注意:%s可以接受任何类型的值传进去,但是%d不可以,只能接受数字类型的。如
print("i am %s my hobby is %s" %("zhangya",1))结果为i am zhangya my hobby is 1
但是下面这个将会出错
print("i am %s my hobby is %d" %("zhangya","zhang")),

Traceback (most recent call last):
File "C:/Users/张亚萍/PycharmProjects/untitled16/bianliang.py", line 1, in <module>
print("i am %s my hobby is %d" %("zhangya","zhang"))
TypeError: %d format: a number is required, not str

浮点数的打印使用%f,默认小数点后保留六位,不够的补0,进行可四舍五入。但是可以使用格式控制进行截取。如

print("i am %.2f" %250.444)   结果为i am 250.44

打印%号时,两个%%代表一个%。

另一种打印字符串的方法;

集合与函数第7张结果为“i am alex age 18”,这种方式是以字典的形式传递值的。

要想出现分隔符,则使用如下格式,最好不要使用+,而是使用sep 

如print("q","i","p",sep=":")结果为q:i:p

format()方法实现字符串的连接:

集合与函数第8张

传入字典的 时候使用**,传入列表的时候使用*。

老师博客里面可以看看format()方法。

https://www.cnblogs.com/wupeiqi/articles/5484747.html

函数:

集合与函数第9张

函数名()是调用函数,调用函数可以带参数,也可以不带参数,看函数的定义中有没有参数,如果没有,则不带参数,否则要带参数。

集合与函数第10张

必须记住,python是按行执行的,如果定义了同名函数,python只识别后一个函数,调用的时候必然是调用后一个,变量也一样,即出现可变量和函数的同名,后一个将前一个进行覆盖。

函数用来实现特定的功能。

集合与函数第11张

没有返回值的函数叫做过程。

集合与函数第12张

参数类型有实参和形参,形参不占用内存空间,只有实参才占用内存空间。

集合与函数第13张

函数的执行过程中,只要你遇到一个return就结束了,但是一个return 可以返回多个值。加上判断,有多个return,但是函数只能执行一个return。

 3.位置参数和关键字参数(标准调用:实参与形参位置一一对应;关键字调用:位置无需对应,混合参数必须遵循一个原则,即位置参数必须在关键字参数的前面。)

集合与函数第14张

4.默认参数

5.参数组,可以接受多个值,当编写程序不确定参数个数时,可以使用*args参数组。*args只能处理成列表

集合与函数第15张

集合与函数第16张

以下函数可以接受任何类型的参数

集合与函数第17张

集合与函数第18张

免责声明:文章转载自《集合与函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SAP BRIM计费与收入创新解决方案-融合开票Canvas坐标系转换下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

窗口函数——数据分析

oracle的分析函数over 及开窗函数   转自:http://www.blogjava.net/loocky/archive/2007/11/13/160213.html     http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html   一:分析函数overOracl...

浅谈MindSpore的动态Shape

写在前面   在MindSpore开发过程中,由于动态Shape算子的开发需求,再加上MindSpore的动态Shape也在持续完善,笔者遇到了框架上的一些问题。通过查看源码和相关文档的方式,获得了初步的解决方案和感悟。这篇博客主要是将当时的见闻加以整理,并给出一点点开发建议。此外,当时笔者还做了组内分享,附件是分享的胶片,如果不想看文字版,也可以直接看胶...

【转载】C#的ArrayList使用IndexOf方法查找第一个符合条件的元素位置

在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,在ArrayList集合中如果需要查找第一个符合条件的元素所在的位置,可以使用ArrayList集合的IndexOf方法,IndexOf方法将会返回符合条件的第一个元素在集合中的索引位置信息,如果未查到符合条件的元素对象,则返回-1。 IndexOf方法的其中一个常用方法签名为:virtu...

C#笔记21:多线程之线程同步中的锁定lock、Monitor

C#笔记21:多线程之线程同步中的锁定lock、Monitor 1:什么是锁 2:如何选择锁定对象 3:如何锁定集合 4:Monitor 1:什么是锁      lock 语句可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 2:如何选择锁定对象      提供给 lock 关键字的参数必须为基于引用...

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组

1 修改数组形状 函数 描述 reshape 不改变数据的条件下修改形状 flat 数组元素迭代器 flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组 ravel 返回展开数组 numpy.reshape numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下: numpy.reshape(a...

类型信息

一、Class对象 在Object类中定义了以下的方法,此方法将被所有子类继承: public final Class getClass() @Test public void test3() { Person person = new Person(); Class clazz = person.getC...