本文探讨了在Python中使用Numpy数组与List之间的转换问题,特别是如何将Numpy数组元素正确添加到List中,避免了常见的TypeError。通过实例演示了不同转换方法的有效性和注意事项。
摘要生成于
,由 DeepSeek-R1 满血版支持,
想用一个list来动态地增加numpy类型数据,如下面的代码所示,发现报错TypeError: 'numpy.int64' object is not iterable
a = []
b = np.array([1,2,3])
a.extend(b[0])
a.extend(b[1])
a.extend(b[2])
print(a)
于是将numpy数据转为list类型,如下所示:
a = []
b = np.array([1,2,3])
a.extend(b[0].tolist())
a.extend(b[1].tolist())
a.extend(b[2].tolist())
print(a)
发现报错:TypeError: 'int' object is not iterable
通过打印‘b[0].tolist()’的类型,发现‘b[0].tolist()’的类型是‘int’,即还是没有把‘b[0].tolist()’转为list类型
再修改代码如下,通过加个中括号[]把‘b[0].tolist()’转为list类型
a = []
b = np.array([1,2,3])
a.extend([b[0].tolist()])
a.extend([b[1].tolist()])
a.extend([b[2].tolist()])
print(a) #[1, 2, 3]
-------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------------
后来我发现直接用下面的代码也可以解决:
a = []
b = np.array([1,2,3])
a.extend([b[0]])
a.extend([b[1]])
a.extend([b[2]])
print(a) #[1, 2, 3]
这是因为通过加个中括号[]把‘b[0]’从numpy数据类型转为了list类型
win10安装mujoco200,mujoco_py2
.
0
.
2
.
9,gym
WIN10系统安装gym、mujoco以及Atari
MuJoCo
.
py win10 安装 笔记
Linux
Linux系统 Ubuntu18
.
04 成功安装Mujoco、mujoco_py
安装流程不再赘述
Linux上的安装基本很顺利,出现问题先检查路径设置和版
学习《Python数据分析基础》第3章最后一个例子:为每个工作簿和工作表计算总数和均值时,在pandas 实现这个例子中的data 处出现报错
此处原例子没有添加str(),但是我运行是出现报错
TypeError
, ‘
int
’
object
is
not
iterable
原创文章 36获赞 28访问量 4万+
<ipython-input-3-1f37d78639f5> in normalize_comx(num)
27 imag = num
.
imag
28 temp = np
.
sqrt( real* real+ imag* imag)#计算模值
---> 29 real=real/max(temp)#归一化
30 imag = imag/max(temp) * 1j
if 判断出现
TypeError
:
argument of type ‘type‘
is
not
iterable
我的解答思路
:
if判断条件中出现 ****“某个值”
not
in None****
所以不用in,用等于不等于等条件去做判断就好了
TypeError
:
can
not
unpack non-
iterable
int
object
报错如下原因分析
TypeError
:
can
not
unpack non-
iterable
int
object
函数返回值得数量不一致,检查函数返回值数量以及调用函数返回值数量,并确保一致即可。
或许大家会用到 if 语句,这时需要检查 if 与 else 下的 返回值数量 是否一致,不一致也会报错。如下所示action, value = self
.
best_action(state)
Traceback (most recent call last)
:
File "<stdin>", line 1, in <module>
TypeError
:
can
not
unpack non-
iterable
int
object
应该是不能用a, b = 1的方式赋值,那么就换个赋值方法。
>>> a = b = 1
line = line
.
split(comment, 1)[0] AttributeError
:
‘
numpy
.
int
64
’
object
has no attribute ‘split’
import obspy时报错
line = line
.
split(comment, 1)[0] AttributeError
:
'numpy
.
int
64
'
object
has no attribute 'split'
File "/Users/jiangyue/miniforge3/envs/python38/lib