首页 > 编程语言 > 详细

2019-11-21Python3-setdefault

时间:2019-11-23 17:24:40      阅读:76      评论:0      收藏:0      [点我收藏+]

2019-11-21Python3-setdefault

1. 要求

统计一段话中字母出现的次数

1-1. 错误代码1

message=‘there is no more thing; should be quit‘
count={}
	for character in message:
	count[character]=count[character]+1
print(count)

报错如下

Traceback (most recent call last):
  File "charactercount.py", line 4, in <module>
    count[character]=count[character]+1
KeyError: ‘t‘

key值无效

1-2. print 移到循环内部

message=‘there is no more thing; should be quit‘
count={}
	for character in message:
	count.setdefault(character,0)
	count[character]=count[character]+1
	print(count)

打印结果如下

{‘t‘: 1}
{‘t‘: 1, ‘h‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 1, ‘r‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 1, ‘i‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 1, ‘i‘: 1, ‘s‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 2, ‘i‘: 1, ‘s‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 2, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 2, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 3, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 3, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 1, ‘m‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 1, ‘ ‘: 3, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 2, ‘r‘: 2, ‘ ‘: 3, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 3, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 1, ‘h‘: 1, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 2, ‘h‘: 1, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 2, ‘h‘: 2, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 1, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 2, ‘h‘: 2, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 1, ‘n‘: 1, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 2, ‘h‘: 2, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 1, ‘n‘: 2, ‘o‘: 2, ‘m‘: 1}
{‘t‘: 2, ‘h‘: 2, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 1, ‘n‘: 2, ‘o‘: 2, ‘m‘: 1, ‘g‘: 1}
{‘t‘: 2, ‘h‘: 2, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 1, ‘n‘: 2, ‘o‘: 2, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1}
{‘t‘: 2, ‘h‘: 2, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 2, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 2, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 4, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1, ‘d‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 5, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1, ‘d‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 3, ‘r‘: 2, ‘ ‘: 5, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 4, ‘r‘: 2, ‘ ‘: 5, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 4, ‘r‘: 2, ‘ ‘: 6, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 4, ‘r‘: 2, ‘ ‘: 6, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 1, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1, ‘q‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 4, ‘r‘: 2, ‘ ‘: 6, ‘i‘: 2, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 2, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1, ‘q‘: 1}
{‘t‘: 2, ‘h‘: 3, ‘e‘: 4, ‘r‘: 2, ‘ ‘: 6, ‘i‘: 3, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 2, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1, ‘q‘: 1}
{‘t‘: 3, ‘h‘: 3, ‘e‘: 4, ‘r‘: 2, ‘ ‘: 6, ‘i‘: 3, ‘s‘: 2, ‘n‘: 2, ‘o‘: 3, ‘m‘: 1, ‘g‘: 1, ‘;‘: 1, ‘u‘: 2, ‘l‘: 1, ‘d‘: 1, ‘b‘: 1, ‘q‘: 1}

每次内循环,就会打印一次

2. setdefault放到循环外

message=‘there is no more thing; should be quit‘
count={}
count.setdefault(character,0)
	for character in message:
	count[character]=count[character]+1
	print(count)

报错如下

Traceback (most recent call last):
  File "charactercount.py", line 3, in <module>
    count.setdefault(character,0)
NameError: name ‘character‘ is not defined

未定义变量

2019-11-21Python3-setdefault

原文:https://www.cnblogs.com/yuvejxke/p/11918433.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!