Python 中 AttributeError: 'list' object has no attribute 'shape' 错误
Python“AttributeError: 'list' object has no attribute 'shape' ” 发生在我们尝试访问列表上的 shape
属性时。 要解决该错误,请将列表传递给 numpy.array()
方法以在访问 shape 属性之前创建一个 numpy 数组。
下面是一个产生上述错误的示例代码
my_list = [1, 2, 3]
# # ⛔️ AttributeError: 'list' object has no attribute 'shape'
print(my_list.shape)
要解决该错误,请将列表传递给 np.array()
方法来创建一个 numpy 数组。
import numpy as np
np_array = np.array([1, 2, 3])
print(np_array.shape) # 👉️ (3,)
numpy.array
方法将类似数组的对象作为参数并创建一个数组。
在访问 shape 属性之前,我们还可以使用 numpy.asarray
方法将列表转换为 numpy 数组。
import numpy as np
np_array = np.asarray([1, 2, 3])
print(np_array.shape) # 👉️ (3,)
或者,我们可以将列表直接传递给 numpy.shape
方法。
import numpy as np
array_shape = np.shape([1, 2, 3])
print(array_shape) # 👉️ (3,)
print(np.shape([[1, 2]])) # 👉️ (1, 2)
print(np.shape([0])) # 👉️ (1,)
numpy.shape
方法将类似数组的对象作为参数并返回数组的形状。
形状元组的元素给出相应数组维度的长度。
如果需要获取列表的长度,请使用 len()
函数。
my_list = [[1, 2, 3], [4, 5, 6]]
# 👇️ get length of entire list
print(len(my_list)) # 👉️ 2
# 👇️ get length of list item at index 0
print(len(my_list[0])) # 👉️ 3
len()
函数返回对象的长度(项目数)。
该函数采用的参数可以是序列(字符串、元组、列表、范围或字节)或集合(字典、集合或冻结集合)。
我们可以使用 dir()
函数查看对象具有的所有属性。
my_list = ['a', 'b', 'c']
# 👉️ [... 'append', 'clear', 'copy', 'count', 'extend', 'index',
# 'insert', 'pop', 'remove', 'reverse', 'sort' ...]
print(dir(my_list))
如果将一个类传递给 dir()
函数,它会返回该类属性的名称列表,并递归地返回其基类的属性。
如果我们尝试访问不在此列表中的任何属性,我们将收到“AttributeError: list object has no attribute”错误。
总结
Python“AttributeError: 'list' object has no attribute 'shape'” 发生在我们尝试访问列表上的 shape 属性时。 要解决该错误,请将列表传递给 numpy.array()
方法以在访问 shape 属性之前创建一个 numpy 数组。
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。