前端之家收集整理的这篇文章主要介绍了
python 元组转字典的简单示例,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
@H_
403_0@
元组:1.使用中括号(())包裹,不可以被更改(尽管他们的
内容可以),元组可以看成是 只读 的列表
@H_
403_0@A. dict.fromkeys(S)
@H_
403_0@S是一个列表或元组...
@H_
403_0@将S中的元素作为字典的key,value默认为None,也可以指定一个初始值,
代码示例如下:
# @param python基础:元组转字典
# @author 编程之家 jb51.cc|jb51.cc
myDict = dict.fromkeys('hello',True)
for k in myDict.keys():
print(k,myDict[k])
# End www.jb51.cc
@H_
403_0@
输出如下:
@H_
403_0@h True
@H_
403_0@e True
@H_
403_0@l True
@H_
403_0@o True
@H_
403_0@B. collections.defaultdict([default_factory[,...]])
@H_
403_0@default_factory指定字典的value类型
# @param python基础:元组转字典
# @author 编程之家 jb51.cc|jb51.cc
>>> s = [('yellow',1),('blue',2),('yellow',3),4),('red',1)]
>>> d = defaultdict(list)
>>> for k,v in s:
... d[k].append(v)
...
>>> d.items()
# End www.jb51.cc
@H_
403_0@[('blue',[2,4]),[1]),[1,3])]
@H_
403_0@上面
代码效率高于下面的等效
代码:
# @param python基础:元组转字典
# @author 编程之家 jb51.cc|jb51.cc
>>> d = {}
>>> for k,v in s:
... d.setdefault(k,[]).append(v)
...
>>> d.items()
# End www.jb51.cc
@H_
403_0@[('blue',3])]
@H_
403_0@如果给default_dict传入int,则可以用来计数:
# @param python基础:元组转字典
# @author 编程之家 jb51.cc|jb51.cc
>>> s = 'mississippi'
>>> d = defaultdict(int)
>>> for k in s:
... d[k] += 1
...
>>> d.items()
# End www.jb51.cc
@H_
403_0@[('i',('p',('s',('m',1)]