zoukankan      html  css  js  c++  java
  • Python学习笔记四:04集合、字典、运算符

    一、set 集合
    1.定义
    se = {1,2,'a','b'}  #{1, 2, 'b', 'a'}
    2.特点:元素唯一,无序
    se = {1,1,3,3,2,4,4}    #{1, 2, 3, 4}
    se={4,3,2,1}    #{1,2,3,4}
    列表是可变的,所以不能满足唯一性
    se3={1,2,[3,3,4]} #TypeError: unhashable type: 'list' list不可哈希
    hash((1,2,3))   #元组可以哈希
    3.定义一个空集合只能用set()
    se3 = set()
    se4 = {}    #<class 'dict'>这是字典
    4.集合的运算
    se={1,2,3,4}
    se2={3,4,5,6}
    3 in se2    #True   属于,返回bool值
    se < se2    #包含
    se <= se2   #包含
    #not in  #不属于
    4.1 & 交集  取两个集合重复的部分
    se1 = {1,2,3,4}
    se2 = {3,4,5,6}
    se1 & se2   #{3,4}
    4.2   |   并集  取所有元素
    se1 |se2    #{1,2,3,4,5,6}
    4.3   -   差集  前面的集合减去后面的集合元素重复的部分
    se1 - se2   #{1, 2}
    4.4   ^   与非集 取两个集合各自独有的元素
    se1 ^ se2   #{1, 2, 5, 6}
    5.集合的方法
    '''
    'add', 'clear', 'copy', 'difference', 'difference_update',
    'discard', 'intersection', 'intersection_update', 'isdisjoint',
    'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference',
    'symmetric_difference_update', 'union', 'update'
    '''
    5.1  s.add(x) 添加单个元素
    # Add an element to a set
    se.add(5)   #{1,2,3,4,5}    无序的 添加单个元素
    5.2  s.update()   添加多个元素
    # Update a set with the union of itself and others. 放迭代对象
    se.update('123')    #{1, 2, 3, 4, '3', '2', '1'}
    se.update([1,2,3])  #{1, 2, 3, 4, '3', '2', '1'}
    5.3  s.remove()   移除元素
    # Remove an element from a set; it must be a member.
    se.remove(1)    #{2, 3, 4, '3', '2', '1'}    #指定移除
    se.remove('1')    #{2, 3, 4, '3', '2'}
    5.4  s.clear()    清空集合
    # Remove all elements from this set.
    se.clear()    #{}

    二、字典
    1.创建:{key:value}  (大括号创建字典的键时要加引号)
        dict(key=value)  (括号里赋值方式,名字=对象,不要引号)
        字典里的键和值用':'隔开,一对键和值组成一个项,项和项之间用','隔开
    di={'a':111,'b':222,'c':333}
    di={}   #class 'dict'  创建空字典
    di2=dict(a=111) #{'a': 111}
    a符合变量的命名规则
    di2 = (2_a=111) #报错
    di2 = (_a=111)  #报错
    2.特点:无序,键唯一不可变,重复会被重新复制



    #取值和修改
    di['c']=3 #{'c': 3}
    #方法
    '''
    'clear', 'copy', 'fromkeys',
    'get', 'items', 'keys', 'pop',
    'popitem', 'setdefault', 'update', 'values'
    '''
    #
    di.fromkeys(['a','b']) #{'a': None, 'b': None}
    di.fromkeys(['a','b'],123) #{'a': 123, 'b': 123}
    #get(k) 如果键k在,返回键k的值,不存在则返回None
    di.get('c') #3
    di.get('e')
    di.get('e',888) #888
    di.get('c',7) #3

    #items() 返回字典的各个项
    #?
    di.items() #dict_items([('c', 3)])

    di.keys() #dict_keys(['c'])
    di.values() #dict_values([3])
    di.pop('c')
    di={'a':111,'b':222,'c':333}
    di.popitem() #('c', 333)删除最后(实则没有顺序)
    #di.setdefault()
    di.setdefault('a') #111
    di #{'a': 111, 'b': 222}
    di.setdefault('c')
    di #{'a': 111, 'b': 222, 'c': None}
    di.setdefault('d',444) #{'a': 111, 'b': 222, 'c': None, 'd': 444}
    #类似get 但是能改变字典
    di.update({'a':123,'f':555}) #{'a': 123, 'b': 222, 'c': None, 'd': 444, 'f': 555}

    a,b=1,2
    a==1 and b==2
    not a==1
    a==1 and not b==3
  • 相关阅读:
    java实现取球类的博弈问题
    下载安装eclipse
    配置jdk环境变量
    蓝桥杯三羊献瑞题目
    java用Kruskal实现最小生成树
    java创建自定义类的数组
    java暴力递归回溯算法
    易理解java代码8皇后问题
    Listview 点击获取view
    java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用
  • 原文地址:https://www.cnblogs.com/pika-pika/p/8644854.html
Copyright © 2011-2022 走看看