zoukankan      html  css  js  c++  java
  • python集合

    1、集合:

      (1)天生去重,重复内容会去掉不会显示、循环

      (2)关系测试:交集、差集、并集、对称差集、反向差集

    2、,集合与字典很相近,字典是{k:v}形式的,而集合是{1,2}形式的,集合是无序的,不能用下标取值

       list={}是定义一个空字典而不是集合

       如果想定义空集合

      list=set() 表示定义一个空的集合

      定义集合的两种方式:

      ①list={1,2,3,4}

      ②list=[1,2,3,4]

        list=set(list)

    定义三个集合

    list1={1,2,3,5,6,8}

    list2={2,3,4,5,7}

    list3={3,5,8}

     

    3、将list转集合:

      list1=[1,2,3,4,5,6]

      list1=set(list1)

    4、交集(取2个集合里面都有的)

      list1.intersection(list2)

      另一种写法:list1 & list2

    结果:{2,3,5}

    5、并集(合并合集,去掉重复的)

      list1.union(list2)

      另一种写法:list1 | list2

    结果:{1,2,3,4,5,6,7,8}

    6、差集(取出list1中有的,list2中没有的)

      list1.difference(list2)

      另一种写法:list1 - list2

    结果:{1,6,8}

    7、子集(list1完全包含list3的值)

      list3.issubset(list1)

    结果:True

    8、父集(list1的值在list3中都有)

      list1.issuperset(list3)

    结果:True

    9、对称差集(把两个集合里共有的去掉)

      list1.symmetric_difference(list2)

      另一种写法:list1 ^ list2

    结果:{1,4,6,7,8}

    10、集合操作:

      ①给集合添加一个元素

        list.add(777)

      ②给集合同时添加多个元素

        list.update([888,999])

      ③删除元素,不存在的元素会报错

        list.remove(999)

      ④删除元素,不存在的元素不会报错

        list.discard(9999)

      ⑤随机删除元素,当集合是由列表和元组组成时,set.pop()是从左边删除元素

        list.pop()

    11、练习

       要求:

       输入密码必须包含大写字母、小写字母、数字、特殊字符

     1 import string        #引入string模块
     2 pwd=input('请输入密码:').strip()   #输入密码,去掉空格
     3 pwd=set(pwd)         #将接收的字符串变为集合类型
     4 num1=set(string.ascii_lowercase)     #将所有大写字母转换成集合类型赋给num1
     5 num2=set(string.ascii_uppercase)     #将所有小写字母转换成集合类型赋给num2
     6 num3=set(string.digits)              #将所有数字转换成集合类型赋给num3
     7 num4=set(string.punctuation)         #将所有特殊字符转换成集合类型赋给num4 
     8 if pwd&num1 and pwd&num2 and pwd&num3 and pwd&num4:#判断pwd是否在集合中,使用交集的方式
     9      print('密码格式正确')
    10 else:
    11     print('密码格式错误')

     

  • 相关阅读:
    Java hibernate 遇到的问题:could not read a hi value
    Java 小知识
    Java 在使用@Select遇到的问题:拼接字符串将数组拼为了字符串
    飞逝的光阴
    终于回来了
    再说创客
    离开一段时间
    抛弃QP
    关于创客
    对DTU系统结构的重新思考
  • 原文地址:https://www.cnblogs.com/miyuki/p/9174247.html
Copyright © 2011-2022 走看看