[英]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.