2017-11-22 1 views
0

Hallo vielen Dank für das Lesen meiner Frage. Ich verwende Python 2.7 auf Windows 7. Als Neuling habe ich eine Frage, wie man die Zeilennummer mit einem bestimmten Wort aus einer Liste ausdruckt.Drucken Sie nur das spezifische Wort aus einer Liste, kein anderes Wort enthalten

Zum einen ist die Liste:

MainBoard Serial Number,OPS40217,8030dc8edca9, 
MainBoard Version,4,, 
Model,BoVaConnected,905-0321, 
Nucleo URL, nucleo.cloud.com 
QAState,QA_STATE_APPROVED 
Serial Number,OPS40217,8030dc8edca9,P 

Aus der Liste können Sie sehen, gibt es zwei ‚Seriennummer‘ (erste und letzte Zeile). Aber ich würde die letzte Zeilennummer extrahieren, die nur das Schlüsselwort "Seriennummer" enthält, andere Wörter nicht eingeschlossen.

Mein aktueller Code ist:

lines = list.split('\n') 
SN = 'Serial Number' 
for i, line in enumerate(lines): 
    if SN in line: # or word in line.split() to search for full words 
     sn = i + 1 
     print sn 

Von meinem Code, der Ausdruck ist mit zwei Zeilennummern (die erste und die letzte Zeile Zahlen). Gibt es eine Möglichkeit, die spezifische Keyword-Zeilennummer einfach zu indexieren? Vielen Dank.

Antwort

0

Sie müssen jede Zeile in Kommas aufteilen und dann prüfen, ob Ihre Zielphrase in der Liste der Phrasen in jeder Zeile enthalten ist.

for i, line in enumerate(lines): 
    if SN in line.split(','): # or word in line.split() to search for full words 
     print i + 1 

Wird es das tun?

0

Haben Sie versucht, eine Liste zu verwenden?

container = [ ] 
SN = 'Serial Number' 
for i, line in enumerate(lines): 
    if SN in line: 
     sn = i + 1 
     container.append('sn') 

print container[container.length() - 1] 
Verwandte Themen