zoukankan      html  css  js  c++  java
  • python字典的相关操作总结

    最近再看python机器学习相关的代码时候,看到很多关于字典的操作,自己印象不那么深刻了,在这里自己也整理复习一下,跟大家分享出来,如果错误的地方,请留言,看到后就会修改,感谢!

    Python 中的字典是Python中一个键值映射的数据结构,相关的操作如下:

    1.1 创建字典

    Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建函数dict

    1 dictionary1 = {}   #方法一
    2 dicttionary1 = dict()   #方法二

    1.2 对字典进行初始化

    Python可以在创建字典的时候初始化字典,就像定义变量之后直接对其初始化是类似的,集体操作如下

    1 dictionary1 = {“name”:'wind_under_the_wing'}      #方法一
    2 dictionary2 = dinct(name='wind_under_the_wing')    #方法二

    其实第二种方法是容易引发问题的,在这里把代码晒出来大家感兴趣的话自己去分析

    1 key = 'name'
    2 dictionary1 = {key:'wind_under_the_wing'}     #{'name':"wind_under_the_wing'}
    3 dictionary2 = dict(key='wind_under_the_wing')   #{'key':'wind_under_the_wing'}

    使用fromkeys()方法从列表中获取元素作为键值

    >>> info = {}.fromkeys(['name', 'blog'])
    >>> info
    {'blog': None, 'name': None}
    >>> info = dict().fromkeys(['name', 'blog'])
    >>> info
    {'blog': None, 'name': None}
    >>> info = dict().fromkeys(['name', 'blog'], 'wind-under-the-wing')
    >>> info
    {'blog': 'wind-under-the-wing', 'name': 'wind-under-the-wing'}

    使用字典推导式初始化字典:类似列表推导式,我们可以通过一个for循环表达式来创建一个字典

    1 >>>dd = {x: x*x for x in range(5)}
    2 
    3 >>>dd
    4 >>>{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

    1.3 获取键值

    >>> info = {'name':'linux', 'blog':'wind-under-the-wing'}
    >>> info['name']
    'linux'

    但是如果获取不存在的键的值就会触发的一个KeyError异常,字典有一个get方法,可以使用字典get方法更加优雅的获取字典

    >>> info = dict(name= 'linux', blog='wind-under-the-wing')
    >>> info.get('name')
    'linux'
    >>> info.get('blogname')
    None
    >>> info.get('blogname', 'linux')
    'linux'

    我们看到使用get方法获取不存在的键值的时候不会触发异常,同时get方法接收两个参数,当不存在该键的时候就会返回第二个参数的值 我们可以看到使用get更加的优雅

    1.4 字典元素修改

     1 >>>myd = dict(a=1, b=2, c=3)
     2 
     3 >>>myd['a'] = 9  # 改变某个键的值
     4 
     5 >>>myd
     6 >>>{'a': 9, 'b': 2, 'c': 3}
     7 
     8 >>>myd['e'] = 8  # 增加新的键值对
     9 >>>myd
    10 >>>{'a': 9, 'b': 2, 'c': 3, 'e': 8}
    11 
    12 >>>del myd['e']  # 删除某个键及其值
    13 >>>myd
    14 >>>{'a': 9, 'b': 2, 'c': 3}
    15 
    16 >>>myd.pop('c')  # 删除某个键及其值并得到其值
    17 >>>3
    18 
    19 >>>myd
    20 >>>{'a': 9, 'b': 2}

    尤其要注意pop()删除某个键值对,并且得到其中的值

    
    

    1.5 字典删除

    可以调用Python内置关键字del来删除一个键值

    >>> info = dict(name='cold', blog='linuxzen.com')
    >>> info
    {'blog': 'linuxzen.com', 'name': 'cold'}
    >>> del info['name']
    >>> info
    {'blog': 'linuxzen.com'}

    同时也可以使用字典的pop方法来取出一个键值,并删除

    >>> info = dict(name='cold', blog='linuxzen.com')
    >>> info.pop('name')
    'cold'
    >>> info
    {'blog': 'linuxzen.com'}

    1.6 其他操作

    获取所有key

    >>> info = dict(name='cold', blog='linuxzen.com')
    >>> info.keys()
    ['blog', 'name']

    获取key,value并循环

    >>> info = dict(name='cold', blog='linuxzen.com')
    >>> for key, value in info.items():
    ...     print key, ':',  value
    ...
    blog : linuxzen.com
    name : cold

     

  • 相关阅读:
    mongodb的aggregate聚合操作详解
    2013, Lost connection to MySQL server during query
    事务失败的重试策略
    mongodb的shell脚本
    mongodb的currentOp
    mongodb插入数据
    Too many threads are already waiting
    connection timed out
    python3-request.session 的使用
    intellij-永久破解最新版本idea 2020.3.1
  • 原文地址:https://www.cnblogs.com/wind-under-the-wing/p/11769244.html
Copyright © 2011-2022 走看看