Python 代码分析:统计列表元素长度并优化
这段代码的功能是统计输入列表 'pop' 中每个元素的长度,并返回一个字典,其中键为元素长度,值为该长度的元素数量。
def CountingNumOfSize(pop):
num_size_dict = {}
for ind in pop:
if str(len(ind)) in num_size_dict:
num_size_dict[str(len(ind))] = num_size_dict[str(len(ind))] + 1
else:
num_size_dict[str(len(ind))] = 1
return num_size_dict
改进方案:
- 使用
collections.defaultdict来代替if-else语句,使代码更简洁。 - 使用
len()函数代替str(len()),使代码更易读。 - 增加异常处理,防止输入 'pop' 中包含非字符串类型的元素。
改进后的代码如下:
from collections import defaultdict
def counting_num_of_size(pop):
num_size_dict = defaultdict(int)
for ind in pop:
if not isinstance(ind, str):
raise ValueError('All elements in pop should be strings')
num_size_dict[len(ind)] += 1
return num_size_dict
原文地址: https://www.cveoy.top/t/topic/oirv 著作权归作者所有。请勿转载和采集!