Python 3.5';列表';对象没有属性';最小值';和无序类型:str()<;int()和

Python 3.5';列表';对象没有属性';最小值';和无序类型:str()<;int()和,python,Python,我试图使用Python3.5来学习本教程,但是我得到的是错误,而不是预期的结果。另外,如果您能解释一下下面这一行的作用,我将不胜感激 import matplotlib.pyplot as plt x=[1,2,3,4,5] y=[1,2,3,4,5] list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200] print ("min value element : ", min(list1)) print ("min value e

我试图使用Python3.5来学习本教程,但是我得到的是错误,而不是预期的结果。另外,如果您能解释一下下面这一行的作用,我将不胜感激

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]

list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200]
print ("min value element : ", min(list1))
print ("min value element : ", min(list2))

plt.scatter(x, y,  color='red') 
#please explain this line:
plt.plot([y.min(), y.max()], [y.min(), y.max()], color='blue', linewidth=3) 

plt.show()

问题可能是您需要将列表按如下方式传递到最小值和最大值:

plt.plot([min(y), max(y)], [min(y), max(y)], color='blue', linewidth=3) 
现在,这将在[1,1]和[5,5]之间绘制一条线

如果要将x和y相对绘制,可以执行以下操作:

plt.plot(x, y, color='blue', linewidth=3) 

对于list1,您有一个包含int和字符串的列表,因此字符串将被min和max忽略。

Numpy数组有min和max方法,Python列表没有。Python确实有and,这在numpy数组上尤其慢,因为它们将作为Python对象迭代所有条目。该教程错误地将函数称为,并且它们在iterables上操作,而不一定是列表

在python 3中,对内置数据类型的比较操作更为严格

>>> min([123, 'xyz', 'zara', 'abc'])
TypeError: unorderable types: str() < int()
plt.plot([min(y), max(y)], [min(x), max(x)], color='blue', linewidth=3)