python集合函数教学,python 组合数函数

Python 简明教程 ---13,Python 集合

目录

成都创新互联秉承实现全网价值营销的理念,以专业定制企业官网,网站制作、做网站,成都微信小程序,网页设计制作,手机网站制作设计网络营销推广帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。

前几节我们已经介绍了Python 中的 列表list , 元组tuple 和 字典dict ,本节来介绍Python 中的最后一种数据结构—— 集合set 。

Python 中的 set 与 dict 很像,唯一的不同是, dict 中保存的是 键值对 ,而 set 中只保存 键 ,没有 值 。

Python 集合 有如下特点:

Python 集合的声明有两种方式:

创建 空集合 时,只能用 set() ,而不能用 {} :

创建 非空集合 时,可以用 set() ,也可以用 {} :

由于集合中的元素是唯一的,如果初始化时的 可迭代 数据中有重复的元素,则会自动删去重复的元素:

使用 len() 函数可以查看集合中元素的个数:

由于Python 集合中的元素的是无序的,所以可不能使用 下标 的方式来访问集合中的单个元素。

我们可以使用 for 循环 来遍历集合中的所有元素:

我们可以对两个集合进行如下运算:

交集与并集

in 运算

使用 dir(set) 查看集合支持的所有方法:

下面一一介绍这些 非魔法方法 ,共17 个。

1. add 方法

由于集合中的元素是唯一的,向集合中添加元素时有两种情况:

示例:

2. remove 方法

示例:

3. discard 方法

示例:

4. pop 方法

示例:

5. union 方法

示例:

6. update 方法

示例:

7. clear 方法

示例:

8. copy 方法

示例:

9. difference 方法

示例:

10. difference_update 方法

示例:

11. intersection 方法

示例:

12. intersection_update 方法

示例:

13. isdisjoint 方法

示例:

14. issubset 方法

示例:

15. issuperset 方法

示例:

16. symmetric_difference 方法

示例:

17. symmetric_difference_update 方法

示例:

(完。)

推荐阅读:

Python 简明教程 --- 8,Python 字符串函数

Python 简明教程 --- 9,Python 编码

Python 简明教程 ---10,Python 列表

Python 简明教程 ---11,Python 元组

Python 简明教程 ---12,Python 字典

python中set()函数的用法

python中set()函数的用法如下:

工具/原料:台式电脑、Win10、Python3.6.5。

1、首先按下“Win+R”组合键,打开运行窗口,如下图所示。

2、在打开文本框输入“cmd”,点击确定,如下图所示。

3、在打开的cmd窗口中,输入:“python”,点击Enter键,如下图所示。

4、在Python环境中,输入:“x = set(('hi', 'hello', 'world'))”,点击Enter键,如下图所示。

5、在Python环境中,输入:“print(x)”,如下图所示。

6、点击Enter键,即可使用Python内置的set()函数创建一个集合对象,并打印出来,如下图所示。

python集合和函数

变量名={元素,元素,,,}

nums={11,24,45,96,28}

nums.add(42)

print(nums)

nums={11,24,45,96,28}

nums2=["anfly","tom"]

nums.update(nums2)

print(nums)

1)nums={11,24,45,96,28}  [没有该数字报错]

   nums.remove(24)

   print(nums)

2)nums={11,24,45,96,28}  [随机删]

 nums.pop()

 print(nums)

3)nums={11,24,45,96,28} [没有该数字不会报错]

 nums.discard(24)

 print(nums)

交集:(存在相同元素)

set1={"anfly","tom","haha"}

set2={"anfly","susala"}

set3=set1set2

print(set3)

并集:(得到全部集合中全部的元素)

set1={1,2,3,4}

set2={3,4,5,6}

new_set=set1|set2

print(new_set)

运算符 (+ * in)

内置函数 (len max min del)

列:set1 = {"1","2","3"}

    print(min(set1))

def函数名():

   执行语句

函数名()

列:

defhello():

print("hello word")

hello()

2.函数参数:

def  add2num():

a=11

b=22

c=a+b

print(c)

add2num()

3.位置参数:

def  fun(a,b):

 print("a:",a)

 print("b:",b)

fun(2,3)

4.关键字参数:

def  fun(a,b):

  print("a:",a)

 print("b:",b)

fun(a=2,b=3)   [第一个‘a’可以直接写数字,也可以展示;第二个以及之后‘b’不能直接写数字,要写‘b=3’这种格式]

5.缺省参数

def printinfo(name,age=20):

  print("name:",name)

  print("age:",age)

printinfo(name="anfly")  [展示都能展示出来]

6.不定长参数

1).*args[展示是元组]

defprintinfo(*args):

 print("args:",args)

printinfo(100,200,300,400)

2)**args[展示是k.v格式]

def printinfo(**kwargs):

 print("kwargs:",kwargs)

printinfo(a=100,b=200,c=300,d=400)

7.参数位置顺序

def sun(a,*args,b=22,**kwargs):

     print("a:",a)        ==10

     print("args:",args)    ==(200,300)

     print("b:",b)    ==2

     print("kwargs:",kwargs)  =={‘m’:3,'n':4}

sun(100,200,300,b=2,m=3,n=4)

8.函数返回值

def fan(a,b):

  return a+b

print(fan(1,2))  #3

9.匿名函数(lambda函数也叫匿名函数,即函数没有具体的名称)

案例一:

sum=lambda a,b:a+b

print(sum(1,2))  #3

案例二:

sum=lambda a,b:100

print(sum(1,2))  #100

1.局部变量

def jv():

   a=3 

   print(a)

def jv1():   

   a=99   

   print(a)

jv()       #3

jv1()    #99

2.全局变量

def jv():

   print(a) 

def jv1():   

    a=99   

    print(a)

jv()     #全局变量

jv1()    #99

3.局部变量升成全局变量

def jv():

    a=3 

    global b   

     b="我也是全局变量" 

      print(a)

def jv1():   

       a=99   

        print(a)   

         print(b)

jv()          #3

jv1()        #99 #“我也是全局变量”

python集合的使用怎么样的?

Python set 集合最常用的操作是向集合中添加、删除元素,以及集合之间做交集、并集、差集等运算。

向set集合中添加元素

set 集合中添加元素,可以使用 set 类型提供的 add() 方法实现,该方法的语法格式为:

1

setname.add(element)

其中,setname 表示要添加元素的集合,element 表示要添加的元素内容。

需要注意的是,使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误。例如:

1

2

3

4

5

a = {1,2,3}

a.add((1,2))

print(a)

a.add([1,2])

print(a)

运行结果为:

1

2

3

4

5

{(1, 2), 1, 2, 3}

Traceback (most recent call last):

File "C:\Users\mengma\Desktop\1.py", line 4, in

a.add([1,2])

TypeError: unhashable type: 'list'

从set集合中删除元素

删除现有 set 集合中的指定元素,可以使用 remove() 方法,该方法的语法格式如下:

1

setname.remove(element)

使用此方法删除集合中元素,需要注意的是,如果被删除元素本就不包含在集合中,则此方法会抛出 KeyError 错误,例如:

1

2

3

4

5

a = {1,2,3}

a.remove(1)

print(a)

a.remove(1)

print(a)

运行结果为:

1

2

3

4

5

{2, 3}

Traceback (most recent call last):

File "C:\Users\mengma\Desktop\1.py", line 4, in

a.remove(1)

KeyError: 1

Python的集合介绍

和列表类似,集合也是一个数据集合,其也不要求元素的类型一致。但是集合有下面两个特点:

•集合内元素唯一。如不可以用1、2、1、1组成集合,因为其包含重复的1。

•集合是无序的,添加元素时不能指定位置,删除元素时也不能通过指定位置,只能通过指定值。当然也不能通过位置来定位某个元素。

1、创建集合

我们可以从列表创建集合,将列表中的元素都加入到集合中,如果有重复的元素就仅保留一个。

a = set([1, 1, 3])

print(a)#输出结果:set([1, 3])     

也可以从元组、字典和其他集合构建集合。比如:

a = set((0, 1, 2, 3, 3, 2))   

使用的是字典的键来构建集合,字典的值没有被使用到,比如:

a = set({1:10, 2:20, 3:30})

从字符串构建集合,其每个字符都成为集合的一个元素,比如:

a = set("abcdefabc") 

输出结果:a={'c', 'e', 'f', 'b', 'd', 'a'}

另外一个集合构建集合,比如:

a = set([1, 2, 3]) 

b = set(a)  输出结果:b={1, 2, 3}

当然也可以构造一个空的集合,使用的方法是set()。空集合没有任何元素,比如:

a = set()

1.添加元——add(值)

该函数只能添加一个元素。

如果添加的元素已经在集合中存在,那么不会发生任何变化。

2.扔掉元素——discard(值)

该函数删除集合中指定的值对应的元素。

如果指定值在集合中不存在,则不做任何操作。

3.删除指定值——remove(值)

该函数和discard()的不同之处在于,如果指定的值在集合中不存在,会抛出异常。

4.清空所有元素——clear()

该函数扔掉所有的元素。执行完该函数后,该集合将变成一个空的集合。

a.clear()

5.删除第一个元素——pop()

如果集合中有元素,则返回值为删除掉的元素的值。

如果集合为空,则抛出异常。

6.得到差集——difference(集合对象)

该函数返回一个新的集合,该集合包含所有属于a而不属于b的元素,如图所示。该操作不会改变原始集合a或者b的内容。

7.差集操作符(-)

该操作符和difference()类似,返回一个新的集合,该集合包含所有属于a而不属于b的元素。该操作不会改变原始输入集合a或者b的内容。

8.从集合中删除另一个集合中存在的元素——difference_update(集合对象)

该函数和difference()的不同是操作数a会被修改,而且没有返回值。

9.得到两个集合的交集——intersection(集合)

该函数返回所有的同时属于集合a和集合b的元素组成的集合,即返回的是一个集合,该集合的所有元素都同时属于集合a和b,如图所示。输入集合a和b在该过程中没有发生任何改变。

10.交集操作符()

该操作符和intersection()的效果是一样的。

11.删除集合a中所有不属于集合b的元素——intersection_update(集合)

该函数也是求交集,与intersection()不同的是其修改原始输入集合,并且没有返回值。这也是为何该接口函数后面带有update字样,因为其更新了原来的输入集合。

12.是否存在交集——isdisjoint()

该函数判断是否存在这样的元素,其同时属于集合a和集合b。如果存在这样的元素,返回False;否则返回True。

13.并集——union(集合a,集合b)

该函数返回一个新的集合,该集合的元素要么属于输入集合a要么属于集合b。该操作不修改作为输入的两个集合a和b。如图表示该函数返回的集合的内容。

14.并集操作符(|)

该操作符和union()的效果是一样的。其返回一个并集,并且不修改输入集合的内容。

15.添加属于b而不属于a的元素——update()

该函数在集合a中添加属于b而不属于a的所有元素。该操作和union()不同的是,其修改了输入集合a,并且没有返回值。

16.外集——symmetric_difference()

外集就是由只属于集合a或者只属于集合b的元素组成的集合,如图所示。该操作返回一个新的集合,并且不修改原来的输入集合a和b。

17.外集操作符(^)

该操作符和symmetric_difference()的效果是一样的,也是返回一个新的集合,并且不会修改输入的集合a或者b。

18.a和b的并集减去a和b的交集——symmetric_difference_update()

该函数和symmetric_difference()的区别是,其修改了集合a的值,并且没有返回值。

19.是指定集合的子集吗——issubset()

a是b的子集就是说集合a的所有元素都属于集合b。

如果a等于b,那么a和b互为子集。

20.是指定集合的超集吗——issuperset()

a是b的超集合就是说集合b中的所有元素都属于集合a。

如果a是b的超集,那么b就是a的子集。

如果a等于b,那么它们互为子集,同时也互为超集。

python--set(集合)

一、创建集合

创建非空集合:集合中set括号中需要的参数的数据类型有:序列(包括字符串、列表、元组),字典可以转为集合,注意数值类型不能作为集合的参数,如int类型。

二、添加元素

add() 方法是将要添加的元素作为一个整体添加到集合中

update() 方法是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的

三、删除元素

集合的删除操作使用的方法跟列表是一样的,使用的也是 remove 方法,只能单个删除

四、遍历集合

五、集合与字符串、列表、元组互转,集合转字典

六、查找元素并删除

函数原型: a.discard(b)

参数说明:a为一个set类型的变量;b表示要查找并删除的元素

函数作用:在集合setVar中查找element元素,如果存在则删除;如果没找到,则什么也不做。该函数没有返回值

七、pop用法

函数原型: set1.pop()     删除并返回集合set1中的第一个元素,如果为空引发KeyError错误+

八、clear、copy和len的用法

clear     方法用于清空集合中的所有元素

copy     方法用于集合拷贝

len     跟求序列的长度的函数len()是一样的,返回的是集合中有多少个元素

九、求集合的交集、并集、差集和difference的用法

求集合的 交集 使用的符号是 “”

求集合的 并集 用的是符号 “|”

求集合的 差集 使用的符号是减号 “-”

difference    等价于集合的差集 ,查看两个集合的不同之处。这种不同指的是集合s1相对于集合s2,不同的地方,也就是所有在集合s1中,而不再集合s2中的的元素组成的新集合

十、运算符判断集合间关系和issuperset、issubset的用法

集合可以使用大于()、小于()、大于等于(=)、小于等于(=)、等于(==)、不等于(!=)来判断某个集合是否完全包含于另一个集合,也可以使用子父集判断函数。

issuperset     集合st1是否是集合st2的父集

issubset     集合st1是否是集合st2的子集

十一、不可变集合frozenset的用法

frozenset     该集合中的内容是不可改变的,其他功能及操作跟可变集合set一样


标题名称:python集合函数教学,python 组合数函数
文章链接:http://pwwzsj.com/article/heedih.html