zoukankan      html  css  js  c++  java
  • Python基础__字典、集合、运算符

      之前讨论的字符串、列表、元组都是有序对象,本节则重点讨论无序对象:字典与集合。
    一.字典
      列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系。例如L=[‘I’,’love’,’Python’],则有L[0]=’I’,L[1]=’love’,L[2]=’Python’,在这里可以认为0是’I’的键,‘I’是键0的内容,则存在一个键值对的关系。字典相对于列表来说更为灵活,列表的键只能是自然数,而字典的键可以是任何变量名。可以将字典理解为灵活的列表。
    下面对字典的属性总结如下:
    1.字典通过键值读取
    2.任意对象的无序集合
    3.可变长、异构、任意嵌套
    4.属于可变的映射类型,键与值存在一一映射的关系
    5.相当于一个散列表
    字典的定义
    1.定义
    di={'w':123,'l':456,'x':789} 键值对:key:value
    字典的元素满足键值一一对应,每一个键值对成为一个item。
    空字典:d={} 或 d=dict()
    2.取值: 索引取关键字di[‘w’]
    3.修改:di[‘w’]=’abc’
    特点: 无序
        key唯一不可变
               字典是可变的
    字典的方法
    1.>>> di.fromkeys(['a','b','c'],123) #用给定的键建立新的字符串,每一个键有默认值
    {'a': 123, 'b': 123, 'c': 123} #字典的键值关系与有序序列的索引关系差不多
    2.di.get('r') #存在则返回值,不存在什么也不返回
    3.>>> di.items() #查看字典的每一项
    dict_items([('w', 123), ('l', 456), ('x', 789)]) #以列表的形式返回
    4.di.keys() #查看字典的所有键,以列表的形式返回
    5.di.values() #查看字典的所有值,以列表的形式返回
    6.di.pop(‘w’) #指定键删除,返回对应的键值并将之删除。若不存在报错
    7.di.popitem() #随机删除某一项,并以元组形式返回
    9.di.setdefault('l',123) #类似于get,存在就返回值,不存在就更新(添加)到字典
    10.di.update(di1) #将di1字典的内容添加并更新到原来的字典di,无则添加,有则覆盖

    集合
    一. 集合的定义
    set={1,2,3,4} #不重复
    >>> set={1,2,2,4}
    >>> set
    {1, 2, 4}
    特性: 唯一性(集合中不能存在可变的内容如列表)
               无序性
    >>> set={1,'a',2,4,'b'}
    >>> set
    {1, 2, 4, 'a', 'b'}
    创建一个空集合:A=set()
    注意:A={} 是创建一个空字典,而不是集合
    二.集合的运算
    se1={1,2,3}, se2={2,3,'a'}
    并集:| se1|se2 ={1, 2, 3, 'a'}
    交集:& se1&se2 ={2, 3}
    差集:- se1-se2 ={1} 前面集合减去两个集合重复的部分
    与非集:^ se1-se2 ={1, 'a'}

    se1.add(5) 添加单个元素
    se1.update('asdfg') 添加可迭代对象
    se1.remove('f') 指定移除
    se1.pop() 随机抛出一个元素
    当要取出一个指定的元素是可以把集合转化为序列,然后再取出
    list(se)
    集合是可变的


    总结:
    不可变:字符串,元组,数值
    可变:列表,字典,集合

    三.运算符
    算术运算符:+,-,*,/,%,**,//
    赋值: =,+=,-=,*=,/=,%=,**=
    比较运算符: ==,!=,>,<,>=,<=
    成员运算符:in,not in
    身份运算符:is,not is
    逻辑运算符:and,or,not

    运算顺序:
    ** 幂运算
    +,-,*,/,% 算术运算符
    <,>,<=,>= 比较运算符
    ==,!= 比较运算符
    =,%=,/=,-=,+=,*=,**= 赋值运算符
    is,not is 身份运算符
    in,not in 成员运算符
    not>and>or 逻辑运算符

  • 相关阅读:
    shell 学习笔记 LinuxShell脚本攻略(第2版)
    [六省联考2017]分手是祝愿
    [SDOI2010]粟粟的书架
    [CQOI2018]解锁屏幕
    [SCOI2007]最大土地面积
    CF369E Valera and Queries
    CF817F MEX Queries
    [HEOI2016/TJOI2016]求和
    [CQOI2018]九连环
    [HNOI2015]亚瑟王
  • 原文地址:https://www.cnblogs.com/fangfang31140519/p/8469092.html
Copyright © 2011-2022 走看看