使用dict,zip方法将两个list合并为dict
keys = ["b", "a", "c", "e", "d"]
values = ["", "", "", "", ""]
dict(zip(keys, values)) #该dict是无序的 d=dict(zip(keys, values))
[(k,d[k]) for k in sorted(d.keys())] #按keys排序,升序
[(k,d[k]) for k in sorted(d.keys(),reverse=True)] #按keys排序,降序

按value排序:

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict

dict()函数将包含有多个元组的list可以转换为字典:

y=[('name','zhangsan'),('age',20)]
print dict(y) #返回{'age': 20, 'name': 'zhangsan'}

将两个字典f1、f2合并,重复项的value相加,非重复项保留:

注:只能对数字格式的value值进行相加

print f1 #返回{'10.160.31.31': 44, '10.160.100.3': 46, '10.160.100.2': 47, '::1': 92, '10.160.100.241': 8017, '127.0.0.1': 36}
print f2 #返回{'106.185.41.148': 1, '10.160.31.31': 36, '10.160.100.3': 44, '10.160.100.2': 44, '::1': 39, '111.201.171.47': 1, '10.160.100.241': 8005, '127.0.0.1': 47} from collections import Counter
print dict(Counter(f1) + Counter(f2)) #返回{'106.185.41.148': 1, '10.160.31.31': 80, '10.160.100.3': 90, '10.160.100.2': 91, '::1': 131, '111.201.171.47': 1, '10.160.100.241': 16022, '127.0.0.1': 83}

字典合并,两个字典中的key不能重复,否则会被后一个字典覆盖掉:

d1={'k1':['abc'],'k2':'m'}
d2={'k11':['a'],'k22':'n'}
d3 = dict(d1,**d2)
print d3 #返回:{'k22': 'n', 'k2': 'm', 'k1': ['abc'], 'k11': ['a']}
#等同于如下:
# d3 = d1.copy()
# d3.update(d2)
#print d3

字典合并,value值为list的可以进行重复合并:

d1={'k1':['abc'],'k2':['m']}
d2={'k1':['a'],'k22':['n']} d3= {}
for k,v in (d1.items() + d2.items()):
if d3.get(k) is None:
d3[k] = v
else:
d3[k].extend(v)
print d3
#返回:{'k22': ['n'], 'k2': ['m'], 'k1': ['abc', 'a']}

将字符串的dict转换为json格式:

udata = ‘{‘a’:'aa','b':'bbb'}’ #udata是string

from ast import literal_eval

udataj = literal_eval(udata) #udataj是dict

最新文章

  1. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口
  2. java守护线程的理解
  3. jshint配置(js检查)
  4. mysql查询所有记录,并去掉重复的记录
  5. C#编程语言与面向对象——核心
  6. php学习笔记:自定义函数的调用
  7. 宏定义#define和typedef的区别和典型范例题目辨析
  8. 剑指Offer:面试题6——重建二叉树(java实现)
  9. 学习总结 JDBC
  10. PHPCMS 标签与解析小记_Jason
  11. H3C S5120交换机ACL应用的问题
  12. android studio导入矢量svg图标技巧
  13. HTML5 桌面通知:Notification API
  14. var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
  15. 【CSS学习】--- 字体样式
  16. Codeforces 840C. On the Bench 动态规划 排列组合
  17. SQL参数放在where前后的区别
  18. andorid UI事件
  19. "请求被中止: 未能创建 SSL/TLS 安全通道"解决办法
  20. 混沌数学之Feigenbaum模型

热门文章

  1. python egg for centos 制作
  2. Sublime Text3 快捷键总结
  3. Scrum 冲刺博客第五篇
  4. nginx 配置 单页面应用的解决方案
  5. i.mx6 Android5.1.1 Zygote
  6. C# Winform 跨线程更新UI控件常用方法汇总
  7. WPF判断两个时间大小避免误差
  8. 多边形游戏(DP)
  9. memcached 细究(二)
  10. java一些对象概念扫盲帖(DO VO DTO PO)