zoukankan      html  css  js  c++  java
  • python 字典键值对练习

    O(∩_∩)O哈哈~时间过得飞快,上次学python还是19年十一,这次更博已经20年的五一了。

    间歇性踌躇满志,持续性混吃等死。

    我还是那只笨笨的鸟,但是也一直蜷缩在窝里不敢飞的那种。

    今天有在家练习学习python字典的一些例子。真的是:脑子觉得自己会了,但是手很诚实,敲半天,然后对脑子说,哦,你还没会呢!

    今天练习的是列表转换成字典:

    >>> cars = [['BMW', 8.5], ['BENS', 8.3], ['AUDI', 7.9]]
    >>> dict1 = dict(cars)
    >>> dict1
    {'BENS': 8.3, 'AUDI': 7.9, 'BMW': 8.5}

    以上是运用系统自带的巧妙方法直接转换了,那如何自己写函数把列表和字典的键、值对应起来呢?

    我开始想的是,直接写个for循环,将键和值分别按规律排放好,结果手就跟脚一样,敲了以下的代码:

    >>> dict2 = {}
    >>> for i in cars:
               dict2['i[0]'] = 'i[1]'
    
    >>> dict2
    
    {'i[0]': 'i[1]'}

    哈哈,发现了是什么错误没?我给'i[0'和'i[1]'都加了引号,不应该加的。

    >>> for i in cars:
                dict2[i[0]] = i[1]
    
    
    >>> dict2
    {'BENS': 8.3, 'AUDI': 7.9, 'i[0]': 'i[1]', 'BMW': 8.5}

    哦!注意把刚才笔误导致的 'i[0]': 'i[1]'删掉。

    >>> del dict2['i[0]']
    >>> dict2
    {'BENS': 8.3, 'AUDI': 7.9, 'BMW': 8.5}

    这样dict2就相当于把dict1 = dict(cars)的功能实现了。

    那我想修改某个键的值怎么做?哈哈哈,也是很简单,直接写想被修改的值覆盖掉之前的值即可。举例如下:

    >>> dict2['BENS'] = 10
    >>> dict2
    {'BENS': 10, 'AUDI': 7.9, 'BMW': 8.5}

    我想看看键和值都是多少,还想把值进行求和,又该怎么做呢?

    看键:

    >>> for i in dict2:
                 print(i)
    
    BENS
    AUDI
    BMW

    看值:

    >>> for i in dict2:
                 print(dict2[i])
    
    10
    7.9
    8.5

    对值求和:

    >>> sum1 = 0
    
    >>> for i in dict2:
                sum1 += dict2[i]
    
    >>> sum1
    26.4

    或者直接用dict2.values()和dict2.keys()查询:

    >>> dict2.values()
    dict_values([10, 7.9, 8.5])
    >>> dict2.keys()
    dict_keys(['BENS', 'AUDI', 'BMW']) 

    如果我把键放到list1中,把值放到list2中,我又该怎么把他俩合到一个字典里去呢?

    >>> list1 = list(dict2)
    >>> list1
    ['BENS', 'AUDI', 'BMW']
    >>> list2 = list(dict2.values())
    >>> list2
    [10, 7.9, 8.5]

    合的方法:

    >>> for i in range(0,len(list1)):
                  dict3[list1[i]] = list2[i]
    
    >>> dict3
    {'BENS': 10, 'AUDI': 7.9, 'BMW': 8.5}

    哈哈哈,其实还有一个更快捷的方法,python有一个zip函数,可以将其匹配对应上。具体实现:

    >>> zip1 = zip(list1,list2)
    
    >>> dict5 = dict(zip1)
    
    >>> dict5
    {'BENS': 10, 'AUDI': 7.9, 'BMW': 8.5}

    也是很方便的。

    所以python的好用易用,还是要感谢广大爱好者在添砖加瓦。

    作为一名挣扎着学习的小菜鸡,我虽道阻且长,但也一如既往。

  • 相关阅读:
    关于session的记录
    关于<input type="hidden"/>标签的记录
    H3C S5120V2-SI 交换机配置
    Windows 系列GVLK密钥
    给因特尔S2600CO服务器主板安装【SAS控制器】驱动
    EMQ消息队列初体验
    泰国佛历的换算问题
    linux下批量查找UTF-8的BOM文件,并去除BOM
    菲律宾Globe/TM卡最省钱的上网方案
    Windows计划任务实现MYSQL冷备份
  • 原文地址:https://www.cnblogs.com/ddxmt/p/12829039.html
Copyright © 2011-2022 走看看