zoukankan      html  css  js  c++  java
  • python 基础之集合

    集合

    s=set('chen xi')
    s1=['cx','ee','cx']
    s2=set(s1)#set为集合
    print(s2,type(s2))
    s=list(s2)
    print(s,type(s))
    

     测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {'cx', 'ee'} <class 'set'>
    ['cx', 'ee'] <class 'list'>
    
    Process finished with exit code 0
    

      集合的创建

    s=set("chenxi cx bhbhbm km")
    print(s)
    

      测试;帮我们去重set

    D:pythonpython.exe D:/untitled/dir/for.py
    {'h', 'k', 'c', 'x', ' ', 'n', 'e', 'm', 'b', 'i'}
    

       注意set必须是不可哈希的值

    li = [[1,2],3,'huhu']
    s= set(li)
    print(s)
    

      测试报错

    D:pythonpython.exe D:/untitled/dir/for.py
    Traceback (most recent call last):
      File "D:/untitled/dir/for.py", line 371, in <module>
        s= set(li)
    TypeError: unhashable type: 'list'
    
    Process finished with exit code 1
    

      判断集合是否包含指定的字符串

    li = [1,2,3,'huhu']
    s= set(li)
    # print(s)
    print(2 in s)
    print(4 in s )
    print('h' in s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    True
    False
    False
    
    Process finished with exit code 0
    

      集合更新之添加元素

    li = [1,2,3,'huhu']
    s= set(li)
    # print(s)
    # print(2 in s)
    # print(4 in s )
    # print('h' in s)
    # print('huhu' in s)
    print(s)
    s.add('u')
    print(s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {1, 2, 3, 'huhu'}
    {1, 2, 3, 'huhu', 'u'}
    

      集合更新之添加多个元素

    li = [1,2,3,'huhu']
    s= set(li)
    print(s)
    s.add('u')
    print(s)
    s.update('asdfgh')
    print(s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {1, 2, 3, 'huhu'}
    {1, 2, 3, 'huhu', 'u'}
    {1, 2, 3, 'huhu', 'g', 'h', 'd', 'a', 'u', 'f', 's'}
    

      更新数字字母

    li = [1,2,3,'huhu']
    s= set(li)
    print(s)
    s.add('u')
    print(s)
    s.update('asdfgh')
    print(s)
    s.update([12,'huhbjkjkjkjkjk'])
    print(s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {1, 2, 3, 'huhu'}
    {1, 2, 3, 'huhu', 'u'}
    {1, 2, 3, 'f', 'huhu', 's', 'a', 'd', 'g', 'u', 'h'}
    {1, 2, 3, 'f', 'huhu', 'huhbjkjkjkjkjk', 's', 12, 'a', 'd', 'g', 'u', 'h'}
    

         集合删除指定元素操作

    li = [1,2,3,'huhu']
    s= set(li)
    print(s)
    s.add('u')
    print(s)
    s.update('asdfgh')
    print(s)
    s.update([12,'huhbjkjkjkjkjk'])
    print(s)
    s.remove(12)
    print(s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {1, 2, 3, 'huhu'}
    {1, 2, 3, 'huhu', 'u'}
    {1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 'f'}
    {1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 12, 'f', 'huhbjkjkjkjkjk'}
    {1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 'f', 'huhbjkjkjkjkjk'}
    

      集合之删除随意元素

    li = [1,2,3,'huhu']
    s= set(li)
    print(s)
    s.add('u')
    print(s)
    s.update('asdfgh')
    print(s)
    s.update([12,'huhbjkjkjkjkjk'])
    print(s)
    s.remove(12)
    print(s)
    s.pop()
    print(s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {1, 2, 3, 'huhu'}
    {1, 2, 3, 'u', 'huhu'}
    {1, 2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'g', 's'}
    {1, 2, 3, 'a', 'h', 'd', 12, 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
    {1, 2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
    {2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
    

      清空集合

    li = [1,2,3,'huhu']
    s= set(li)
    print(s)
    s.add('u')
    print(s)
    s.update('asdfgh')
    print(s)
    s.update([12,'huhbjkjkjkjkjk'])
    print(s)
    s.remove(12)
    print(s)
    s.pop()
    print(s)
    s.clear()
    print(s)

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {1, 2, 3, 'huhu'}
    {1, 2, 3, 'huhu', 'u'}
    {1, 2, 3, 's', 'f', 'a', 'd', 'g', 'huhu', 'h', 'u'}
    {1, 2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 12, 'huhu', 'h', 'u'}
    {1, 2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 'huhu', 'h', 'u'}
    {2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 'huhu', 'h', 'u'}
    set()
    
    Process finished with exit code 0
    

     删除集合

     

    li = [1,2,3,'huhu']
    s= set(li)
    # print(s)
    # print(2 in s)
    # print(4 in s )
    # print('h' in s)
    # print('huhu' in s)
    print(s)
    s.add('u')
    print(s)
    s.update('asdfgh')
    print(s)
    s.update([12,'huhbjkjkjkjkjk'])
    print(s)
    s.remove(12)
    print(s)
    s.pop()
    print(s)
    s.clear()
    print(s)
    del s
    print(s)
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    Traceback (most recent call last):
    {'huhu', 1, 2, 3}
      File "D:/untitled/dir/for.py", line 391, in <module>
    {1, 2, 3, 'u', 'huhu'}
        print(s)
    {'s', 1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'f', 'g'}
    NameError: name 's' is not defined
    {'s', 1, 2, 3, 'a', 'd', 12, 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
    {'s', 1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
    {1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
    set()
    
    Process finished with exit code 1
    

      比较两个集合是否相同

    print(set('chenxi')==set('cheeennnxxxi'))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    True
    
    Process finished with exit code 0
    

      判断第一个集合是否被第二个集合包含;如果完全一样打印

    print(set('chenxi')==set('cheeennnxxxi'))
    print(set('cx')<set('chenxigg'))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    True
    True
    

      判断第一个集合是否被第二个集合包含;如果完全一样打印

    print(set('chenxi')==set('cheeennnxxxi'))
    print(set('cx')<set('chenxigg'))
    print(set('cx')<set('cx'))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    True
    True
    False
    
    Process finished with exit code 0
    

      取两个都有的元素

    print(set('yfgfggcgcffxdfx sd f') & set('hhghghg v'))
    

      测试

    {' ', 'g'}
    

      取并集,取两个集合都包括的。只有有一个集合包含的就打印

    print(set('yfgfggcgcffxdfx sd f') | set('hhghghg v'))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {' ', 'g'}
    {' ', 'h', 'd', 's', 'g', 'y', 'f', 'c', 'x', 'v'}
    

      取交集的另一给个方法

    s= set('yfgfggcgcffxdfx sd f')
    v= set('hhghghg v')
    print(s.intersection(v))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {' ', 'g'}
    
    Process finished with exit code 0
    

      取并集

    s= set('yfgfggcgcffxdfx sd f')
    v= set('hhghghg v')
    print(s.union(v))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {'g', 'f', 'c', 'y', 'h', ' ', 'v', 'd', 's', 'x'}
    
    Process finished with exit code 0
    

      取集合里的差集,s里有的v里没有的

    s= set('yfgfggcgcffxdfx sd f')
    v= set('hhghghg v')
    print(s.difference(v))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {'s', 'x', 'c', 'y', 'f', 'd'}
    
    Process finished with exit code 0
    

      取集合里的差集,v里有的s里没有

    s= set('yfgfggcgcffxdfx sd f')
    v= set('hhghghg v')
    print(v.difference(s))
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    {'h', 'v'}
    
    Process finished with exit code 0
    

      

      

     

    草都可以从石头缝隙中长出来更可况你呢
  • 相关阅读:
    mongodb备份与恢复
    MongoDB-3.4安装文档
    (转)Zabbix 3.2.7编译安装记录
    (转)error while loading shared libraries:libmysqlclient.so.18 错误
    (转)如何使用Journalctl查看并操作Systemd日志
    (转)基于CentOS 7安装Zabbix 3.4和Zabbix4.0
    (转)yum安装MariaDB(使用国内镜像快速安装,三分钟安装完毕)
    (转)nmon和nmon analyser的下载和使用
    (转)Db2 数据库常见堵塞问题分析和处理
    (转)我是一个线程
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/11130691.html
Copyright © 2011-2022 走看看