sample和sample_n的区别
时间: 2024-05-16 12:16:31 浏览: 14
在Python中,`sample`和`sample_n`都是用于从序列中随机选择元素的函数,但它们的用法略有不同。
`random.sample(population, k)`函数返回从`population`序列中随机选择`k`个独立的元素作为列表。这意味着它会返回一个新的列表,其中没有重复的元素。如果`k`大于`population`的长度,则会引发`ValueError`异常。
`random.sample(population, k)`的示例用法:
```python
import random
my_list = [1, 2, 3, 4, 5]
sampled_list = random.sample(my_list, 3)
print(sampled_list)
# Output: [4, 2, 1]
```
`random.sample(population, k)`会从`population`中随机选择`k`个元素作为列表返回,而`random.sample(population, k)`会返回从`population`序列中随机选择的`k`个元素的迭代器。相比之下,`sample_n`不会检查`k`是否大于`population`的长度。
`random.sample_n(population, k)`的示例用法:
```python
import random
my_list = [1, 2, 3, 4, 5]
sampled_list = random.sample_n(my_list, 3)
print(sampled_list)
# Output: [2, 3, 5]
```
总之,`sample`和`sample_n`都是用于从序列中随机选择元素的函数,但它们的用法略有不同。`sample`返回一个包含随机选择元素的列表,而`sample_n`返回一个迭代器。同时,`sample`还会检查`k`是否大于`population`的长度,而`sample_n`不会。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)