运用for 循环处理各种数据
In [24]:
words=['apple','pare','banana','and','peach']
In [57]:
byletter={}
for word in words:
letter=word[0]
if letter in byletter:
byletter[letter].append(word)
else:
byletter[letter]=[word]
In [58]:
byletter
Out[58]:
dict.setdefault(key,[]).append(value)
setdefault是字典对象的一个实例方法,接收两个参数,用法和字典的get方法类似,但是比 get 更强大。 它可以为给字典的key设定一个默认值(如果key不在字典中的时候) get 方法设置的默认值不会改变原字典, 而setdefault设置的默认值会改变原字典的值。
In [41]:
by_letters={}
for word in words:
letter=word[0]
by_letters.setdefault(letter,[]).append(word)
In [43]:
by_letters
Out[43]:
In [59]:
data=[('p',1),('p',2),('p',3),('h',4),('h',5),('h',6)]
result=defaultdict(list)
defaultdict是属于collections 模块下的一个工厂函数,用于构建字典对象,接收一个函数(可调用)对象为作为参数。参数返回的类型是什么,key对应value就是什么类型。
In [66]:
from collections import defaultdict
results=defaultdict(list)
data=[('p',1),('p',2),('p',3),('h',4),('h',5),('h',6)]
for (key,value) in data:
results[key].append(value)
In [67]:
results
Out[67]: