编写程序,生成包含1000个0~100的随机整数,并统计每个元素的出现次数
时间: 2023-05-02 17:03:25 浏览: 196
可以用以下代码实现:
```
import random
#生成1000个0~100的随机整数
nums = [random.randint(0, 100) for _ in range(1000)]
#统计每个元素出现的次数
counts = {num: nums.count(num) for num in set(nums)}
#输出每个元素及其出现次数
for num in sorted(counts.keys()):
print(num, ":", counts[num])
```
解释一下代码:
第一行中,`import random` 导入了 Python 标准库中的 random 模块,用于生成随机数。随后一行 `nums = [random.randint(0, 100) for _ in range(1000)]` 使用列表推导式生成1000个 0~100 的随机整数;`random.randint(0, 100)` 表示生成 0~100 范围内的整数。
第二行 `counts = {num: nums.count(num) for num in set(nums)}` 利用 set() 函数去除了列表中的重复元素,然后使用字典推导式 `{num: nums.count(num) for num in set(nums)}` 统计了每个元素出现的次数。例如,若 nums = [1,2,2,3,3,3],则 counts = {1: 1, 2: 2, 3: 3}。
最后一行通过循环输出每个元素及其出现次数,并按元素从小到大的顺序排序。注意,`for num in sorted(counts.keys())` 中的 `sorted(counts.keys())` 表达式可以保证按字典序排序,即元素从小到大的顺序。
阅读全文