字典练习
1有如下值集合[11, 22, 33, 44, 55, 66, 77, 88, 99, 90...],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。(2分)
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
方法一:(用append给字典中的key加值)
1 dic={ 2 'k1':[], 3 'k2':[] 4 } 5 l=[11, 22, 33, 44, 55, 66, 77, 88, 99, 90] 6 for item in l: 7 if item > 66: 8 dic['k1'].append(item) 9 else: 10 dic['k2'].append(item) 11 print(dic)
方法二:

1 s='hello alex alex say hello sb sb' 2 dic={} 3 words=s.split() 4 for word in words: 5 if word not in dic: 6 dic[word]=1 7 else: 8 dic[word]+=1
方法三:
利用setdefault解决重复赋值
setdefault的功能
1:key存在,则不赋值,key不存在则设置默认值
2:key存在,返回的是key对应的已有的值,key不存在,返回的则是要设置的默认值View Code
方法四:(利用集合,去掉重复,减少循环次数)
View Code