猿记录

一个记录、分享的博客

您的位置:主页 > 技术专栏 > python >

关于python 的一些学习点进行收集

2017-11-10 14:44:09 作者:yxl 次阅读 python

一、在循环中对字典赋值时
     如果你在循环外 定义了一个 info = {},然后在循环中进行赋值的话,赋值的永远是最后一次赋值

     当声明一个字典 info = {} 的操作时候,该字典就已经在内存中获取了某一块地址。
     对该字典进行操作时,如 info['name'] = 'github' 的时候,这个字典依旧是之前所占用的地址。
   for summ in summs:
        res_data = {}
        res_data['title'] = summ['title']
        如果你在循环外面定义的话,这个就去的是最后一次循环的赋值
二、对字典的value值进行排序
        d= {‘a’:1,'b':3}       

       new_tag = sorted(d.items(),key = lambda x:x[1],reverse = True) 
          这里的d.items()实际上是将d转换为可迭代对象,迭代对象的元素为 (‘lilee’,25)、(‘wangyan’,21)、(‘liqun’,32)、(‘lidaming’,19),items()方法将字典的元素 转化为了元组,
         而这里key参数对应的lambda表达式的意 思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda           item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。
        ambda x:y中x表示输出参数,y表示lambda 函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。


凡本站注明“本站”或“投稿”的所有文章,版权均属于本站或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。

编辑:yxl 关键词:
0

网友评论