• Python中集合set()的使用及处理


    在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点

    1.创建set

    创建set需要一个list或者tuple或者dict作为输入集合

    重复的元素在set中会被自动过滤

    1 s1  = set([1,2,3,4,3,4,5])
    2 print (s1)
    3 
    4 s2 = set((1,2,3,4,5,1,2,3))
    5 print (s2)
    6 
    7 s3 = set({1:"good",2:"nice"})
    8 print (s3)

    以上代码运行结果为:

    1 >>>{1, 2, 3, 4, 5}
    2 >>>{1, 2, 3, 4, 5}
    3 >>>{1, 2}

    我们可以看到list和tuple中的重复元素被自动过滤了,并且dict转为set时只保存了key值,并没有保存value值

    2.添加

    1 s4 = set([1,2,3,4,5])
    2 s4.add(6)
    3 s4.add(3) #可以添加重复的,但是不会有效果
    4 #s4.add([7,8,9]) set的元素不能是列表,因为列表是可变的,同理字典也不能添加至set
    5 print (s4)

    运行结果为:

    1 >>>{1, 2, 3, 4, 5, 6}

    3.插入

    1 s5 = set([1,2,3,4,5])
    2 s5.update([6,7,8])
    3 s5.update((9,10))
    4 s5.update("nice")
    5 print (s5)

    使用update()函数我们可以插入整个的list、tuple、字符串,将其打碎插入,运行结果为:

    1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'c', 'n', 'e', 'i'}

    我们可以看到插入的元素都被打碎,并且无序的插入了set中

    4.删除

    1 s6 = set([1,2,3,4,5])
    2 s6.remove(3)
    3 print (s6)

    运行结果为:

    1 >>>{1, 2, 4, 5}

    5.遍历

    set是没有索引的,但我们同样可以用for对set进行遍历

    1 s7 = set(['n', 'i', 'c', 'e'])
    2 for i in s7:
    3     print (i)

    运行结果为:

    1 >>>1 c
    2 >>>2 n
    3 >>>3 e
    4 >>>4 i

    注意for返回的结果同样是无序的

    6.set的enumerate

    1 for index,data in enumerate(s7):
    2     print (index,data)

    返回结果为:

    1 >>>0 c
    2 >>>1 n
    3 >>>2 e
    4 >>>3 i

    结果为无序的

    7.set的交集与并集

     1 #交集
     2 s8 = set([1,2,3,4])
     3 s9 = set([3,4,5,6])
     4 a1 = s8 & s9
     5 print (a1)
     6 print (type(a1))
     7 #并集
     8 a2 = s8 | s9
     9 print (a2)
    10 print (type(a2))

    运行结果为:

    1 {3, 4}
    2 <class 'set'>
    3 {1, 2, 3, 4, 5, 6}
    4 <class 'set'>
  • 相关阅读:
    Bootstrap学习
    Bootstrap学习
    Windows下Apache+Django+mod_wsgi的static和media问题处理
    Windows编译安装mod_wsgi,配合使用Django+Apahce
    Bootstrap学习
    Chapter 21_4 捕获
    Chapter 21_3 模式
    新发现的一些C函数
    Chapter 21_2 模式匹配函数
    Chapter 21_1 字符串函数
  • 原文地址:https://www.cnblogs.com/weiwenliang/p/10590403.html
Copyright © 2020-2023  润新知