如何用Python统计列表中不同数字的数量并输出对应结果?
Python统计列表中不同数字的数量并格式化输出
方法一:利用集合(set)去重(最简单高效)
集合会自动剔除重复元素,直接获取集合长度就是不同数字的数量,转成列表后可输出具体数字(排序后输出更规整)。
代码示例:
# 测试示例1 X = [5, 5, 5] unique_nums = set(X) count = len(unique_nums) print(f"不同数字的数量:{count},对应的数字:{sorted(unique_nums)}") # 测试示例2 X = [5,4,5] unique_nums = set(X) count = len(unique_nums) print(f"不同数字的数量:{count},对应的数字:{sorted(unique_nums)}") # 测试示例3 X = [24,24,24,24,24,24,24,24,26,26,26,26,26,26,26,26] unique_nums = set(X) count = len(unique_nums) print(f"不同数字的数量:{count},对应的数字:{sorted(unique_nums)}")
输出结果:
不同数字的数量:1,对应的数字:[5] 不同数字的数量:2,对应的数字:[4, 5] 不同数字的数量:2,对应的数字:[24, 26]
方法二:用字典手动统计(支持额外统计出现次数)
如果后续需要查看每个数字的出现次数,可通过字典遍历统计,同时也能得到不同数字的数量和具体值。
代码示例:
X = [5,4,5] num_count = {} for num in X: num_count[num] = num_count.get(num, 0) + 1 unique_count = len(num_count) unique_nums = list(num_count.keys()) print(f"不同数字的数量:{unique_count},对应的数字:{sorted(unique_nums)}") # 额外获取每个数字的出现次数 print("各数字出现次数:", num_count)
输出结果:
不同数字的数量:2,对应的数字:[4, 5] 各数字出现次数: {5: 2, 4: 1}
内容的提问来源于stack exchange,提问作者Mhmoud Khadija
相关产品推荐
相关产品推荐

