前言
上月帮国外的同学做了一道非常基础的python题,比较有意思,再次记录一下,题目意思如下:
有这么一个数字对的list:
list_digit =
[56448162, 5433721, 34751217, 686221321, 65220111,
54349339, 40709944, 63967760, 48056573, 78300211]
请控制台打印并统计出现最高的首尾数字对是哪个?
解题思路
def main():
fl_list = []
list_digit = [
56448162,
5433721,
34751217,
686221321,
65220111,
54349339,
40709944,
63967760,
48056573,
78300211]
for digit
in list_digit:
pairs = (int(str(digit)[
0]), int(str(digit)[-
1]))
fl_list.append(pairs)
fl_set = set(fl_list)
count_dict = {}
for fl
in fl_set:
count_dict[fl] = fl_list.count(fl)
print(f
'统计的次数:{count_dict}')
print(
'出现最高的首尾数字对为:' + str(max(count_dict, key=count_dict.get)))
if __name__ ==
'__main__':
main()
主要是利用了python的基础数据结构,dict和set来完成去重统计。