簡體   English   中英

如何使用python從1d數組創建具有3個元素的2d數組

[英]how to create 2d array with 3 elements from 1d array using python

signals=([1998  ,1968  ,1937  ,1827  ,2027,2286  ,2484  ,2266  ,2107  ,1690,1808  ,1927  ,1924  ,1959  ,1889,1819  ,1824  ,1979  ,1919  ,1845,1801  ,1799  ,1952  ,1956  ,1969,2044  ,2100  ,2103  ,2110  ,2375,
    2030  ,1744  ,1699  ,1591  ,1770,1950  ,2149  ,2200  ,2294  ,2146,2241  ,2369  ,2251  ,2126  ,2000,1759  ,1947  ,2135  ,2319  ,2352,2476  ,2296  ,2400  ,3126  ,2304,
    2190  ,2121  ,2032  ,2161  ,2289,2137  ,2130  ,2154  ,1831  ,1899,2117  ,2266  ,2176  ,2089  ,1817,2162  ,2267])

Vectors=[[signals[i-1],signals[i+1],signals[i+3]] for i in range(1,len(signals-4))]
print Vectors

TypeError                                 Traceback (most recent call last)
<ipython-input-2-6f5b7430197d> in <module>()
     16     2190  ,2121  ,2032  ,2161  ,2289,2137  ,2130  ,2154  ,1831  ,1899,2117  ,2266  ,2176  ,2089  ,1817,2162  ,2267])
     17 
---> 18 Vectors=[[signals[i-1],signals[i+1],signals[i+3]] for i in range(1,len(signals-4))]
     19 print Vectors
     20 

TypeError: unsupported operand type(s) for -: 'list' and 'int'


Expected Output:[[signals[0],signals[2], signals[4]],[signals[1],signals[3],signals[5]],[signals[2],signals[4],signals[6]]] 

您的括號未正確放置: len(signals-4)應該為len(signals) - 4

錯誤在您的range函數中,您需要對signals加上括號,因為您要從signals長度列表中減去4:

range(1,len(signals)-4))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM