日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python支持list类型吗_Python Numpy不支持的操作数类型“list”“list”

發布時間:2023/12/15 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python支持list类型吗_Python Numpy不支持的操作数类型“list”“list” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編輯答案:

初始列表的元素是列表。這些列表的長度不同,因此強制轉換為NumPy數組將生成dtype對象的數組,即數組的元素是列表。請看這里:https://stackoverflow.com/a/33987165/4244912

當減去NumPy數組時,它執行元素級減法,也就是說,它從另一個數組中的相應元素中減去一個數組的元素(在您的例子中是列表),這就是為什么您會收到錯誤消息(即“list”類型不支持減法)。在

簡單示例:In [1]: import numpy as np

In [2]: A=np.array([[1,2],[],[1,2,3,4]])

In [3]: A[0]

Out[3]: [1, 2]

In [4]: A[0].append(3) #< The first element is a list!

In [5]: A

Out[5]: array([[1, 2, 3], [], [1, 2, 3, 4]], dtype=object) #< The first element (a list) has changed.

我在這里重現你的錯誤:

^{pr2}$

因此,您需要確保通過使每個列表的初始列表長度相等,可以將列表合理地轉換為數組。然后它們應該被強制轉換成dtype為float的NumPy數組,并按照您期望的方式進行操作。在

原帖

我不認為您的代碼片段創建了一個副本,而且看起來您仍然在減去列表,而不是numpy數組。在

如果wealthRS是一個列表,那么wealthRSCopy = wealthRS會創建一個我認為是淺拷貝的東西:列表引用相同的元素,因此更改一個元素將更改另一個元素。在

例如:In [1]: a = [1,2,3]

In [2]: b = a

In [3]: b[0] = 10 # change the first item in 'b'

In [4]: b

Out[4]: [10, 2, 3]

In [5]: a # < 'a' has changed too!

Out[5]: [10, 2, 3]

使用彼此獨立的切片創建副本。在In [6]: c = a[:] # < slice containing the whole list

In [6]: c[0] = 15

In [7]: a

Out[7]: [10, 2, 3]

In [8]: c

Out[8]: [15, 2, 3]

編輯:關于你剩下的問題:你能幫我試試這個嗎?在In [1]: import numpy as np

In [2]: a, b = [[[1]]], [[[3]]]

In [3]: np.array(b) - np.array(a)

Out[3]: array([[[2]]])

我不明白為什么你的減法不起作用,除非數組元素本身是列表,但我不知道怎么會這樣。在

總結

以上是生活随笔為你收集整理的python支持list类型吗_Python Numpy不支持的操作数类型“list”“list”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。