【发布时间】:2014-09-03 07:18:06
【问题描述】:
我遇到了一个奇怪的问题,至少我无法解释这种行为的原因。
我使用下面定义的函数rand_data 生成一个随机值列表。当我尝试使用min() 函数提取最小值时,它返回整个列表,这让我相信它不是一个列表,而是一个数组。
但如果我尝试使用 .min() 属性,它会返回错误:
AttributeError: 'list' object has no attribute 'min'
这里发生了什么? x1 是列表还是数组?
最小的工作示例:
import numpy as np
def rand_data():
return np.random.uniform(low=10., high=20., size=(10,))
# Generate data.
x1 = [rand_data() for i in range(1)]
print min(x1)
print x1.min()
【问题讨论】:
-
一个数组是python中的一个列表
-
你有一个 list 对象,其中包含 1 个
rand_data()调用的结果。 -
您正在生成一个包含一个元素的列表,并且该元素是一个数组
-
@GoBrewers14 哦,这是一个简单的解释。您介意将其发布为答案吗?
-
没关系,我看到@MartijnPieters 刚刚发布了那个确切的答案。
标签: python arrays list numpy minimum