Python 打印列表中非字符串类型的对象
我正在尝试使用SVC类型的一些对象创建一个数组。我得到下面显示的消息。我尝试了不同的方法,还使用了Python 打印列表中非字符串类型的对象,python,Python,我正在尝试使用SVC类型的一些对象创建一个数组。我得到下面显示的消息。我尝试了不同的方法,还使用了np.array([svc\u lin,svc\u poly,svc\u sig])(其中np是numpy),这会产生类似的错误 有没有一种方法可以实现我正在尝试的这类对象(可能是另一个合适的数组?我对python完全陌生,所以我知道的不多 谢谢你的帮助 from sklearn.svm import SVC svc_lin = SVC(kernel='linear') svc_poly = SV
np.array([svc\u lin,svc\u poly,svc\u sig])
(其中np是numpy
),这会产生类似的错误
有没有一种方法可以实现我正在尝试的这类对象(可能是另一个合适的数组?我对python完全陌生,所以我知道的不多
谢谢你的帮助
from sklearn.svm import SVC
svc_lin = SVC(kernel='linear')
svc_poly = SVC(kernel='poly')
svc_sig = SVC(kernel='sigmoid')
arL = [svc_lin, svc_poly, svc_sig]
for x in arL:
#start=time.time()
print(arL[x])
我收到一条错误消息
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
TypeError: list indices must be integers or slices, not SVC
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
TypeError:列表索引必须是整数或片,而不是SVC
难道你不想打印(x)?x
不是序列中的索引,而是对象/元素本身。如果你在l中为x循环,那么x
已经是元素了。如果你在范围(len(l))中为i循环,那么i
就是索引,然后你需要执行l[i]
你们说得对。这就是问题所在。我想我需要打印那个索引上的内容。我还有很多东西要学。Thanks@user1960836-范围内i的的主要问题(len(…)
是指它只支持已知长度的集合。这意味着它对于生成器是无效的。它还要求您在每次迭代中对集合进行额外的查找(l[i]
行)。当您对枚举(…)中的idx、elem使用时,此查找是不必要的
因为idx
和elem
已经分配给索引和相应的对象。它更干净、更简洁,并且支持更多的集合类型。@g.d.d.c我没有建议。我试图显示差异,因为OP使用的是arL[x]
。因此,这与用于范围…
。但我绝对建议使用简单的用于l
循环中的x,或者可能使用枚举
。。。