J'ai quelques données que j'ai stockées dans une liste et si j'imprimer la liste je vois ce qui suit:flux de contrôle du programme en Python
.
.
.
007 A000000 Y
007 B000000 5
007 C010100 1
007 C020100 ACORN FUND
007 C030100 N
007 C010200 2
007 C020200 ACORN INTERNATIONAL
007 C030200 N
007 C010300 3
007 C020300 ACORN USA
007 C030300 N
007 C010400 4
.
.
.
Les points avant et après la séquence doivent représenter cette il existe d'autres données qui sont structurées de manière similaire mais pourraient ou non faire partie de ce septième élément (007). Si la première valeur du septième élément est '007 A000000 Y', je souhaite créer une liste de certains des éléments de données. Je peux le faire et je l'ai fait en parcourant simplement tous les éléments de ma liste et en comparant leurs valeurs à des valeurs de test pour les variables. Par exemple, une ligne de code comme:
if dataLine.find('007 B')==0:
numberOfSeries=int(dataLine.split()[2])
Ce que je veux faire bien est
if dataLine.find(''007 A000000 Y')==0:
READ THE NEXT LINE RIGHT HERE
En ce moment je suis d'avoir à parcourir toute la liste pour chaque cycle
Je veux raccourcir le traitement parce que j'ai environ 60K fichiers qui ont entre 500 à 5 000 lignes dans chacun.
J'ai pensé à créer une autre référence à la liste et à compter les données jusqu'à dataLine.find ('' 007 A000000 Y ') == 0. Mais cela ne semble pas être la solution la plus élégante.
Divisez cette dernière partie en une réponse! C'est une bonne question et d'autres personnes pourraient trouver ce que vous avez trouvé utile :) –