假如有一个需求要实现一个统计的需求,可能不同的人会有不同的实现方式,最为掌握一门编程语言和掌握多门编程语言,以及一年工作经验的编程人员和多年的编程人员的实现思路肯定是不一样的。
例子一:要实现A表中某个条件下,a字段、b字段、c字段对应不同数值的出现次数
java的compute函数能统计map中出现的次数
for (int i = 0; i < hello.length(); i++) {
char key = hello.charAt(i);
map.compute(key, (k, v) -> {
if (Objects.isNull(v)) {
v = 1;
} else {
v += 1;
}
return v;
});
}
使用mysql直接进行统计:
select sum(case when a="a1" then cot end) a1,sum(case when a="a2" then cot end) a2,sum(case when a="a3" then cot end) a3,
sum(case when b="b1" then cot end) b1,sum(case when b="b2" then cot end) b2,sum(case when b="b3" then cot end) b3,
sum(case when c="c1" then cot end) c1,sum(case when c="c2" then cot end) c2,sum(case when c="c3" then cot end) c3 from (
select a,b,c from table group by a,b,c
) t
使用python
# Python3 code to demonstrate
# occurrence frequency using
# lambda + sum() + map()
# initializing string
test_str = "GeeksforGeeks"
# using lambda + sum() + map() to get count
# counting e
count = sum(map(lambda x : 1 if 'e' in x else 0, test_str))
# printing result
print ("Count of e in GeeksforGeeks is : "
+ str(count))
总结:对于同一个需求可能需要考虑基于现有编程语言的特性,已有手脚架等,在对扩展和性能以及编程规范等等进行达到最优的实现