[问题] list和array的转换被偷偷记下来了吗?

楼主: fragmentwing (片翼碎梦)   2023-08-26 18:45:50
如题,一般来说
aaa = [88,99,66,44]
print(type(aaa))
aaa = aaa - aaa[0]
print(type(aaa))
会得到:
<class 'list'>
TypeError: unsupported operand type(s) for -: 'list' and 'int'
不过刚刚我的程式码有一部分如下
print(type(x_JKR))
x_JKR -= x_JKR[0]
print(type(x_JKR))
结果得到:
<class 'list'>
<class 'numpy.ndarray'>
我:黑人问号.jpg
我唯一想到的可能是,之前原本是在 x_JKR -= x_JKR[0]之前
先做过 x_JKR = np.array(x_JKR) ,转换成array后再来扣除首项
后来因为一些问题所以把这转换过程移到后面去了
不过我也试着对测试用的aaa也做了类似的事,但并没有导致同样的结果
用的编辑器是VS Code 模式是jupyter notebook(开在VS Code内)
作者: lycantrope (阿宽)   2023-08-26 19:21:00
不就list内是numpy.array,计算后自动casting
作者: poototo (poototo)   2023-08-27 19:16:00
留意broadcast
楼主: fragmentwing (片翼碎梦)   2023-08-28 14:03:00
知道问题是出在broadcast上 只是出错的方式 会不会自己转成array怎么好像是随机的
作者: aalexx (aalexx.S)   2023-08-29 02:11:00
随机的。大学重修吧
作者: s860134 (s860134)   2023-09-10 04:39:00
不是随机的大哥,你自己的 list 内容装啥都搞不清楚另外 jupyter kernel 是 stateful 的,测试前先restart

Links booklink

Contact Us: admin [ a t ] ucptt.com