Как я могу решить TypeError: '<' не поддерживается между экземплярами 'list' и 'int' в функции list.sort ()? - PullRequest
0 голосов
/ 23 января 2020

Я использую библиотеку 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...