在Python中生成重复数可以通过多种方法实现,以下是几种常见的方法:
```python
def generate_repeated_numbers(numbers, times):
result = []
for _ in range(times):
result.extend(numbers)
return result
示例
numbers = [1, 2, 3]
times = 5
print(generate_repeated_numbers(numbers, times)) 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
方法二:使用`numpy`的`repeat`函数
```python
import numpy as np
def generate_repeated_numbers_np(array, repeat_time):
array_final = np.repeat(array, repeat_time, axis=0)
return array_final.flatten()
示例
array = np.array([1, 2, 3])
repeat_time = 3
print(generate_repeated_numbers_np(array, repeat_time)) 输出:[1 2 3 1 2 3 1 2 3]
方法三:使用`itertools`模块
```python
import itertools
def generate_repeated_numbers_itertools(numbers, times):
return list(itertools.product(numbers, repeat=times))
示例
numbers = [1, 2, 3]
times = 2
print(generate_repeated_numbers_itertools(numbers, times)) 输出:[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
方法四:使用`random.sample`
```python
import random
def generate_repeated_random_numbers(low, high, count):
return random.sample(range(low, high + 1), count)
示例
low = 1
high = 10
count = 5
print(generate_repeated_random_numbers(low, high, count)) 输出:[5, 1, 2, 10, 3]