• 3、Python字典集合


    2.3字典

      字典是键值对的无序可变序列。键值之间用冒号隔开,相邻元素之间用逗号隔开,所有元素放在大括号之间{},键可以是Python中所有不可变的数据,不能用列表、元组、字典作为字典的键,键不可重复,值可以重复。

       globals()函数可以返回查看包含当前作用域内所有全局变量和值的字典,locals()函数返回当前作用域内所有局部变量和值的字典。

        例:

        >>>a=(1,2,3,4,5)

        >>>b='Hello world.'

        >>>def demo():

        a=3

        b=[1,2,3]

        print('locals:',locals())

        print('globals:',globals())

        >>>demo()

    得到:locals:('a':3,'b':[1,2,3]}

       globals:{'a':(1,2,3,4,5),'b':'Hello world.','_builtins_':<module......}

    2.3.1字典的创建与删除

       1.使用=将一个字典赋值给一个变量即可创建一个字典变量

       2.可以用dict()函数来用已有数据快速创建字典

        >>>keys=['a','b','c','d']

        >>>values=[1,2,3,4]

        >>>dictionary=dict(zip(keys,values))

        >>>print(dictionary)

       3.可以以给定内容为“键”,创建“值”为空的字典:

        >>>adict = dict.fromkeys(['name','age','sex'])

      删除:del加字典名称

    2.3.2字典元素的读取

      字典的下标是键

    一般方法:

      >>>aDict={'name':'Dong','sex':'male','age':37}

      >>>aDict['name']

      'Dong'

    get()方法:print(aDict.get('address'))

    items()方法可以返回字典的“键值对”列表,使用字典对象的key()方法可以读取键,使用字典对象的values()方法可以读取值

    2.3.3字典元素的添加与修改

      1、给指定键的元素赋值时,如果有这个键,就给其赋值,如果没有这个键就新建一个键值对

      2、使用update()方法可一个将另一个字典中的“键值对“一次性的全部添加到当前对象中

        aDict.update({'a':'a','b':'b'})

      删除

      1、使用del命令删除指定键对应的元素

      2、使用clear()方法来删除字典中的所有元素

      3、使用Pop()方法删除并返回指定键的元素

      4、使用popitem()方法删除并返回字典中的一个元素

    2.4集合

     

      集合是无序可变序列,和字典一样使用一对大括号来作为界定符,同一个集合元素不允许重复。

      2.4.1集合创建

        1、直接=赋给一个变量

        2、使用set()函数将列表、元组等其他可迭代对象转换成集合,如果原来的元素存在重复,那么只保留一个。

          >>>a_set=set(range(8,14))

          >>>b_set=set{[0,1,2,3,4,5,6,7,8])

        3、使用一个add()方法来增加元素,可以用del()方法来删除整个集合(pop(),remove(),clear()方法都可以)

      2.4.2集合运算

        并运算:>>>a_set|b_set

            >>>a_set.union(b_set)

        交运算: >>>a_set&b_set

            >>>a_set.intersection(b_set)

        差运算:>>>a_set-b_set

            >>>a_set.difference(b_set)

  • 相关阅读:
    工作所得所思之一
    angular路由
    html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    您无权输入许可证密钥,请请使用系统管理员账户重试
    nginx的配置说明
    flexbox弹性盒子模型
    移动web开发规范
    为什么要使用响应式开发
    移动web开发
    如何给图片做缓存
  • 原文地址:https://www.cnblogs.com/television/p/8274931.html
Copyright © 2020-2023  润新知