zoukankan      html  css  js  c++  java
  • 第二个月课堂004讲解python之实战集合(005)_高级讲师肖sir

    集合
    集合是不同元素的无序集合。与序列类型不同,集合是没有切片操作的
    语法:set 集合最重要的功能就是去重 集合分可变集合和不可变集合
    1)可变集合(set):集合里面的元素是可以发生变化,集合中可以动态的增加和删除。
    2)不可变集合(frozenset):集合里面的元素是不可以发生变化
    注意:集合中的元素是无序的,且集合后元素不重复
    案例:

    一、可变集合
    new = [1,2,33,2,2,99,'test']  #列表中元素去重
    yy = (set(new))
    print (yy)              #结果:    set(['test', 1, 2, 99, 33])

    一、去重情况:

    (1)对列表数据重复的,进行去重
     
    (2)对一个“字符串”进行去重
    test = 'hello'
    yy = set(test)
    print(yy) # 结果: set(['h', 'e', 'l', 'o'])

    二、update  添加集合的内容

    第一种方法;
    test = 'hello'
    yy = set(test)
    a=("1","88")
    yy.update(a) #添加集合的内容
    print (yy) # 结果:set(['e', 'h', 'l', 'o', '1', '88']
    第二种方法:
    test = 'hello'
    yy = set(test)
    yy.add('123')
    print (yy) #结果:set(['h', '123', 'e', 'l', 'o'])注意结果是无序的
    三、clear  清除集合种的内容
    test = 'hello'
    yy = set(test)
    yy.clear()    #清除集合中的内容
    print (yy) # 结果:set() 空集合

     四、pop 删除集合中的内容

    讲解:pop()方法用于随机移除一个元素例如:set.pop()
    备注:不带参数时一般是移除最后一位,但是我们这里删除的是第一位

    test = 'hello'
    yy = set(test)
    yy.pop()        #删除集合中的内容
    print (yy) # 结果: set(['e', 'l', 'o'])

    五、remove 删除指定的内容

    a=(‘99’,‘88‘)

    yy=set(a)

    yy=remove(‘88’)

    print (yy)  #打印结果:{'99'}

     

     六、复制集合

    test = 'hello'
    yy = set(test)
    a=yy.copy()
    print (a)

     二、不可变集合

    不可变集合  frozenset
    第一种情况:对不可变集合进行添加,都是报错,只能复制
    test = 'hello'
    yy = frozenset(test)
    yy.add('123') #AttributeError:
    print (yy)
    #打印结果:'frozenset' object has no attribute 'add'译文:'frozenset'对象没有属性'add'
    第二中情况:对不可变集合进行删除
    test = 'hello'
    yy = frozenset(test)
    yy.pop() #删除集合中的内容
    print (yy) # 结果: AttributeError: 'frozenset' object has no attribute 'pop'

    第三种情况:copy(只能对不可变集合复制,)
    test = 'hello'
    yy = frozenset(test)
    a = yy.copy()
    print (a) #显示结果:frozenset({'o', 'h', 'l', 'e'})



  • 相关阅读:
    软件开发各列阶段需要达到的目标和生成的成果
    SQL Server 2005 Express附加数据库为“只读”的解决方法
    System.Web.HttpException: Request timed out.
    [收藏]javascript keycode大全
    MS SQL Server中的CONVERT日期格式化大全
    转贴 对于大型公司项目平台选择j2ee的几层认识(一)
    项目经理:做好项目开始阶段的九条经验(1) 项目 技术应用
    .Net Core 实现账户充值,还款,用户登录(WebApi的安全)
    JS如何通过月份,计算月份相差几个月
    .Net core Api后台获取数据,异步方法中,数据需采用Linq分页
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13983179.html
Copyright © 2011-2022 走看看