zoukankan      html  css  js  c++  java
  • Python字典的一点用法

      #python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些

      字典是一种映射类型的数据结构,(映射一般是数学中的术语,指两个元素之间元素相互对应的关系)。字典和序列有很大的不同,序列类型是通过数组的形式来存储数据,并通过索引的方式来获取数据的值,索引值与对应位置存储的数据是没有关系的。但是字典是通过元素和元素的对应关系来获得元素的值的。

      注意:字典的键必须独一无二,但是值可以取任何数据类型,列表,元组,字符串,数、

      1、创建元组有五种方式

    1、a = {'a':1,'b':2}  
    2、b = dict(a=1,b=2)
    3、c = dict([('a',1),('b',2)])
      d1 = (1,2)
      d2 = ['a','b']
    4、d = dict(zip(d2,d1))  #zip方法将两个可迭代序列成对输出,和它相似用法的有enumerate(),将单个可迭代序列按照索引值输出
    5、e = dict({'a':1,'b':2})
    
    print(a==b==c==d==e)
    
    True

      2、字典具有许多内置方法,有几种常见的方法需要掌握

    #fromkeys(),fromkeys方法有两个参数,第一个为可迭代序列,其中放入字典的键,第二个为字典的值,序列可以存放多个值,但是键只有一个,如果不写第二个参数不写,
     则默认值为None
    #fromkeys()并不对原字典改变,而是返回一个新的字典,可以看到,a字典仍然为空,而b字典则有值
    a = {} b = a.fromkeys([1,2,3],'what') print(a) print(b)

     {}
     {1: 'what', 2: 'what', 3: 'what'}

    #keys(),values(),items()分别是返回字典的键,值,项(项是由键和值构成的一对元素,即键值对)
    for
    item in zip(b.keys(),b.values(),b.items()): print(item) (1, 'what', (1, 'what')) (2, 'what', (2, 'what')) (3, 'what', (3, 'what'))
    #get(),同样有两个参数,第一个为字典的键,第二个是如果在字典中不存在所要查询的键需要返回的值,如果不填则默认返回None
    print
    (b.get(1)) print(b.get(4,'找不到呢'))
    what
    找不到呢
    #copy()方法用来复制字典,这和把字典直接付给一个变量不同,前者是将字典的内容在新的内存地址里面复制,后者是把新变量直接指向原地址
    a = {1:'a',2:'b',3:'c'} b = a.copy() print(id(a),id(b)) 2803652135528 2803652136176

    还有几种如pop(),根据给定键弹出值,popitem(),随机弹出一个项,update(),用来更新字典(这与直接把字典的某个键赋值功能相同)

  • 相关阅读:
    Linux/Unix中的#!和!#
    包含min函数的栈
    顺时针打印矩阵
    二叉树镜像
    数的子结构
    合并两个排序的链表
    反转链表
    链表中倒数第K个结点
    调整数组顺序使奇数位于偶数前面
    在O(1)时间删除链表结点
  • 原文地址:https://www.cnblogs.com/chenprice/p/10128084.html
Copyright © 2011-2022 走看看