Understanding .get() method in Python
1 2 3 4 5 6 7 | sentence ="The quick brown fox jumped over the lazy dog." characters = {} for character in sentence: characters[character] = characters.get(character, 0) + 1 print(characters) |
我不明白
在
这样的等效的Python函数调用(在
1 2 3 | def myget(d, k, v=None): try: return d[k] except KeyError: return v |
在示例代码在你的问题显然是试图occurrences count数每个字符:如果它已经有一个给定的字符计数
明白什么事吧,让我们把一个字母(可超过一个后续)在字符串和当它是通过环。
记住,我们是一个启动开关"人物词典
1 | characters = {} |
我想挑选一个"E"。让我们通过字符"E"(在"for the Word)第一次通过循环。我认为它的第一字符去通过环和我的一个替代变量的值:
1 2 | for 'e' in"The quick brown fox jumped over the lazy dog.": {}['e'] = {}.get('e', 0) + 1 |
characters.get(E 0)的关键是寻找Python的"E"在词典中。如果它发现它返回0。因为这是第一时间E是通过循环传递,字符"E"是没有发现在词典然而,所以get方法返回0。这是然后添加到0值1(目前在字符的字符(字符characters.get [ ] = 0)+ 1个方程)。完成后的第一环使用字符"E",现在我们有一个进入的样本词典:{e}:1
现在是:词典
1 | characters = {'e': 1} |
现在,让我们通过在第二个"E"(发现在Word jumped)通过相同的循环。我认为它的第二字符去通过环和我会更新与新的变量的值:
1 2 | for 'e' in"The quick brown fox jumped over the lazy dog.": {'e': 1}['e'] = {'e': 1}.get('e', 0) + 1 |
这里的get方法,密钥输入"E’,其价值是1。我们添加此到另1 characters.get(字符,0 + 1)2 AS和得到的结果。
当我们在运用这个人物(角色characters.get [字符] = 0)+ 1个方程:
1 | characters['e'] = 2 |
应该明确的是,负载方程assigns a新价值2个"E"键已经存在。因此,现在是:词典
1 | characters = {'e': 2} |
在这里docs.python.org启动http:////datastructures.html教程#词典
然后在http://docs.python.org /图书馆/ stdtypes.html #映射类型的
然后在http://docs.python.org /图书馆/ stdtypes.html # dict.get
1 2 3 4 5 | characters.get( key, default ) key is a character default is 0 |
如果字符是在
如果需要,你可以为0。
语法:
get(key[, default]) Return the value for key if key is in the dictionary, else default. If default is not given, it defaults to
None , so that this method never raises aKeyError .
如果D是一个字典,然后给我
这是一个相当古老的一个湖,但这看起来像一个时代的时候,那些已被书面没有什么知识的语言特征。一个新的
1 2 3 4 5 6 7 | from collections import Counter letter_counter = Counter() for letter in 'The quick brown fox jumps over the lazy dog': letter_counter[letter] += 1 >>> letter_counter Counter({' ': 8, 'o': 4, 'e': 3, 'h': 2, 'r': 2, 'u': 2, 'T': 1, 'a': 1, 'c': 1, 'b': 1, 'd': 1, 'g': 1, 'f': 1, 'i': 1, 'k': 1, 'j': 1, 'm': 1, 'l': 1, 'n': 1, 'q': 1, 'p': 1, 's': 1, 't': 1, 'w': 1, 'v': 1, 'y': 1, 'x': 1, 'z': 1}) |
在这个例子中被数的,但显然,这些结构是否是你想要的需要你。
As for the