roth86 hat geschrieben:Kann mir jemand sage was folgender Pythoncode macht?
Code: Alles auswählen
def searchHeader( headerList, headerName ):
index = 0
for hdr in headerList:
nextHdrName = string.strip( string.split( hdr, ':', 1 )[0] )
if nextHdrName == headerName:
return SUCCESS, index
index += 1
return FAILURE,
Wobei das auch so ginge:
Code: Alles auswählen
def searchHeader( headerList, headerName ):
hdr = [ hdr.split(':',1)[0] for hdr in headerList]
try: index = hdr.index(headerName)
except: index = None
if index: return SUCCESS,index
else: return FAILURE,
Erzeuge aus headerList eine Liste mit dem am weitesten links und durch
':' getrennt stehenden Werten.
Beispiel:
Code: Alles auswählen
headerList = ['1:2:3','4:5:6']
hdr = [ hdr.split(':',1)[0] for hdr in headerList]
print hdr
liefert:
Das ,1 sorgt dafür das der String nur einmal getrennt wird.
Versuche nun die Position von headerName in dieser Liste zu finden.
Beipiel:
Code: Alles auswählen
headerName='4'
index = hdr.index(headerName)
print index
liefert:
= 2. Position (Listen,Tuple,Strings etc. fangen bei 0, wie in C/C++
Falls der index einen Wert hat (None entspricht hier False),
liefere den Wert für SUCCESS und den index zurück,
ansonsten nur FAILURE.
Das
sorgt dafür, das in beiden Fällen eine Liste zurückgegeben wird,
im letzteren Fall aber nur mit einem Element.