字典练习
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
View Code

方法三:

  利用setdefault解决重复赋值
  setdefault的功能
  1:key存在,则不赋值,key不存在则设置默认值
  2:key存在,返回的是key对应的已有的值,key不存在,返回的则是要设置的默认值
View Code

方法四:(利用集合,去掉重复,减少循环次数)

View Code

 



posted on 2017-07-21 15:47  无痕5201314  阅读(486)  评论(0编辑  收藏  举报