[dict]dict里面每个item是一个tuple

比如有下面一段代码(google-python-exercises,basic,wordcount.py)

string = "Alice alice was beginning to to to get very tired of sitting by her sister"
sList = string.split()
wordDict={}
for w in sList:
  if w in wordDict:
    wordDict[w]+=1
  else:
    wordDict[w]=1

这些是把string里面的单词频次做一个统计,放在wordDict这个字典里面,不过现在还没有排序。如果print(wordDict)得出来的结果是这样的:

{'sister': 1, 'her': 1, 'get': 1, 'very': 1, 'was': 1, 'tired': 1, 'Alice': 1, 'alice': 1, 'to': 3, 'of': 1, 'sitting': 1, 'beginning': 1, 'by': 1}

如果要根据单词出现的频次排序,肯定需要借助key=,问题是这个function怎么写?下面这个官方的写法不错:

def get_count(wordDictTuple):
  return wordDictTuple[1]

items = sorted(wordDict.items(), key=get_count, reverse=True)

所以对于字典里面每一个item来说,都是一个tuple,由名称及值组成,名称可以用tuple[0]获取,值就是tuple[1]


bottom line:python的字典,每一个item都是一个tuple,通过[0]和[1]可以获得名称以及值

你可能感兴趣的:([dict]dict里面每个item是一个tuple)