Я использую библиотеку pychem
для вычисления некоторых химических характеристик. Но когда я попытался использовать модуль basak
, я получил сообщение «TypeError:» <не поддерживается между экземплярами «list» и «int» »: (</p>
Я думаю, что функция sort()
подозрительна из-за этой ошибки, но я не имею ни малейшего представления об этой обработке. Часть кода, включающая в себя функцию sort()
, приведена ниже:
from rdkit import Chem
import numpy
import copy
NumPath = 1
Hmol=Chem.AddHs(mol)
nAtoms=Hmol.GetNumAtoms()
TotalPath=Chem.FindAllPathsOfLengthN(Hmol,NumPath,useBonds=0,useHs=1)
if len(TotalPath)==0:
BasakIC=0.0
else:
IC={}
for i in range(nAtoms):
temp=[]
at=Hmol.GetAtomWithIdx(i)
temp.append(at.GetAtomicNum())
for index in TotalPath:
if i==index[0]:
temp.append([Hmol.GetAtomWithIdx(kk).GetAtomicNum() for kk in index[1:]])
if i==index[-1]:
cds=list(index)
cds.reverse()
temp.append([Hmol.GetAtomWithIdx(kk).GetAtomicNum() for kk in cds[1:]])
#print temp
IC[str(i)]=temp
cds=[]
for value in IC.values():
value.sort()
cds.append(value)
kkk=range(len(cds))
aaa=copy.deepcopy(kkk)
res=[]
for i in aaa:
if i in kkk:
jishu=0
kong=[]
temp1=cds[i]
for j in aaa:
if cds[j]==temp1:
jishu=jishu+1
kong.append(j)
for ks in kong:
kkk.remove(ks)
res.append(jishu)
#print res
BasakIC=_CalculateEntropy(numpy.array(res,numpy.float)/sum(res))
Заранее спасибо:)
+) полное сообщение об ошибке таково:
TypeError Traceback (most recent call last)
<ipython-input-74-14f7f840abd4> in <module>
24 cds=[]
25 for value in IC.values():
---> 26 value.sort()
27 cds.append(value)
28 kkk=range(len(cds))
TypeError: '<' not supported between instances of 'list' and 'int'