I have a dict that looks something like : PathNameRxn = {'ID':'2048 444','Name':'john hh', 'Father Name':'David ll'}
and this function:
def DefGrp(PathNameRxn): #.split("_")[0]
groups=""
# RxnID = Rxn.ID
#print(PathName)
for PathName in PathNameRxn:
group= ''' <groups:group sboTerm="SBO:0000633" groups:id="group" groups:name="'''+PathName+'''" groups:kind="partonomy">
<groups:listOfMembers>\n'''
for RxnID in PathNameRxn[PathName].split():
idRef = ''' <groups:member groups:idRef="'''+str(RxnID.split("_")[0])+'''"/>\n'''
groups += idRef
listOfMembers= ''' </groups:listOfMembers>
</groups:group>'''
return group+groups+listOfMembers
this code
listOfGroups=DefGrp(PathNameRxn)
print(listOfGroups)
gives me:
<groups:group sboTerm="SBO:0000633" groups:id="group" groups:name="ID" groups:kind="partonomy">
<groups:listOfMembers>
<groups:member groups:idRef="2048"/>
<groups:member groups:idRef="444"/>
</groups:listOfMembers>
</groups:group>
but I want:
<groups:group sboTerm="SBO:0000633" groups:id="group" groups:name="ID" groups:kind="partonomy">
<groups:listOfMembers>
<groups:member groups:idRef="2048"/>
<groups:member groups:idRef="444"/>
</groups:listOfMembers>
</groups:group>
<groups:group sboTerm="SBO:0000633" groups:id="group" groups:name="Name" groups:kind="partonomy">
<groups:listOfMembers>
<groups:member groups:idRef="john"/>
<groups:member groups:idRef="hh"/>
</groups:listOfMembers>
</groups:group>
can someone help me to achieve this? I want to loop though every element of my dict
看起来您的 return 语句缩进错误。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.