我有我已經存儲在列表中的一些數據,如果我打印出來的清單我看到以下內容:程序控制流量在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
.
.
.
前和後序的點是代表還有其他類似結構的數據,但可能會或可能不會成爲第七項(007)的一部分。如果第七項中的第一個值是'007 A000000 Y',那麼我想創建一些數據項的字典列表。我可以做到這一點,只要遍歷列表中的所有項目,並將它們的值與變量的一些測試值進行比較即可。比如像一行代碼:
if dataLine.find('007 B')==0:
numberOfSeries=int(dataLine.split()[2])
我想,雖然做的是
if dataLine.find(''007 A000000 Y')==0:
READ THE NEXT LINE RIGHT HERE
現在我不必通過整個列表遍歷每個週期
我想縮短處理,因爲我有大約60K的文件,每個文件有500到5000行。
我曾想過創建另一個列表引用並計數datalines直到dataLine.find(''007 A000000 Y')== 0。但是,這似乎並不是最優雅的解決方案。
將最後一部分拆分爲答案!這是一個很好的問題,其他人可能會發現你想出了有用的東西:) – 2009-04-16 23:57:11