【发布时间】:2018-07-31 15:50:24
【问题描述】:
我在 Python 中没有使用 NumPy 就做到了:
def fun_list(list_, x):
#set list to odd numbers in list_ raised to number x
s=[]
s= [i**x for i in list_ if (i%2)!=0]
list_=s
print(list_)
测试功能:
list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
print(fun_list(list1, 2))
print(fun_list(list2, 3))
结果:
[1, 9]
None
[27, 125]
None
现在需要使用 NumPy 来完成,我不明白,在网上找不到太多关于它的信息,而且我发现的东西对我来说没有意义。这是我尝试过的:
import math
#set list to odd numbers in list_ raised to number x
a=np.array([array_])
pwr=x
a=np.array([a if np.mod(a)!=0])
a=np.array([np.power(a,pwr)])
print (a)
测试功能:
import numpy as np
array1 = np.array([1, 2, 3, 4])
array2 = np.array([2, 3, 4, 5])
print(fun_array(array1, 2))
print(fun_array(array2, 3))
结果:
File "<ipython-input-161-fc4f5193f204>", line 21
a=np.array([a if np.mod(a)!=0])
^
SyntaxError: invalid syntax
我不明白如何使用 NumPy 仅获取数组中的奇数。
【问题讨论】:
-
请正确缩进你的函数。 Python 对空格非常敏感。
-
请教我你应该如何看待它如何?我没有收到任何错误。谢谢!
-
如果我将您的第一个 sn-p 粘贴到我的控制台中,我会收到缩进错误。考虑将所有代码缩进 4 个空格,而不仅仅是第一行。