time_weight = list(100*np.exp(np.linspace(-1/divisor, -(num_steps-1)/divisor, num_steps))).apply(lambda x:int(x))
当我尝试这样做时,在Python 3.7中会出现以下错误。
"AttributeError: 'list' object has no attribute 'apply'"
有人能帮忙解决吗?
time_weight = list(100*np.exp(np.linspace(-1/divisor, -(num_steps-1)/divisor, num_steps))).apply(lambda x:int(x))
正如错误所述,list
类型没有 apply
属性。
因此,如果您有一个列表 l
并且想将其中的每个元素设置为 int
类型,则可以使用以下代码:
l = [int(x) for x in l]
l = list(map(int,l))
list
没有apply
方法。如果你想要做的是将每个元素转换为int
,你可以删除lambda函数,而是使用astype(int)
:time_weight = list((100*np.exp(np.linspace(-1/divisor, -(num_steps-1)/divisor, num_steps))).astype(int))