从一个array里随机取出数python
时间: 2024-04-30 21:22:56 浏览: 74
可以使用Python内置的random模块来从一个数组中随机选择一个数。以下是一个例子:
```python
import random
my_array = [1, 2, 3, 4, 5, 6]
random_number = random.choice(my_array)
print(random_number)
```
这将在给定的数组中随机选择一个数,并将其打印出来。
相关问题
从一个array里随机取出10个数,再把其余的取出来
以下是Python代码实现:
```python
import random
# 生成一个长度为20的随机整数数组
arr = [random.randint(1, 100) for i in range(20)]
print("原数组:", arr)
# 随机取出10个数
random_nums = random.sample(arr, 10)
print("随机取出的10个数:", random_nums)
# 把其余的取出来
rest_nums = [num for num in arr if num not in random_nums]
print("其余的数:", rest_nums)
```
输出:
```
原数组: [45, 93, 93, 16, 8, 57, 77, 37, 28, 22, 79, 93, 61, 88, 61, 18, 93, 99, 77, 5]
随机取出的10个数: [93, 77, 22, 57, 5, 99, 79, 8, 61, 93]
其余的数: [45, 16, 37, 28, 88, 18]
```
如何用python循环读出一个三维array里每一个格点的正值并计数,得到全是正值的data1和每一个格点正值次数的data2
好的,我可以帮你回答这个问题。可以使用Python中的numpy库来实现这个功能。以下是代码示例:
```python
import numpy as np
# 生成一个随机的三维数组
arr = np.random.randn(2, 3, 4)
# 将负值设为0
arr[arr < 0] = 0
# 计算每个格点正值的次数
positive_count = np.sum(arr > 0, axis=(0, 1, 2))
# 取出所有正值元素创建新的数组
pos_arr = arr[arr > 0]
# 打印输出结果
print("Array with only positive values:", pos_arr)
print("Positive value count for each grid point:", positive_count)
```
这段代码中,我们首先生成了一个随机的三维数组,然后将其中的负值全部设为0。接着,使用numpy中的sum函数,我们可以计算出每个格点正值的次数,并将其保存在positive_count变量中。最后,我们使用布尔索引的方式将所有正值的元素取出来,创建一个新的数组pos_arr。
希望这个代码能够帮助到你。如果还有其他问题,请随时问我。
阅读全文