2017-03-06 14 views
0

私はしばらくの間この作業をしていました。私がコード化したループから必要な反復を得ることはできません。コードは、headerBody10()を呼び出して出力をリストdistに追加することから始まります。リストには2つの列があり、distの列0はFROMデータ、列1はTOデータです。 distリストが追加されるまでに、それはリストのリストです。私はしたい反復を取得していません

FROMがTOと似ている、または交差点を持つ道路のすべての行を探したいと思います。私はこのコードがすべてのTOデータを介して各FROMを実行するようにしています。今のところ、私はFROMの最初の行だけをすべてのTO行で実行しています。したがって、増分値mはFROM列であり、nはTO列です。ですから、どうすればFROMのすべての行をTOのすべての行に実行させることができますか?

n = 0 
m = 0 
dist = [] 
match = [] 
for line in headerBody10(): 
    dist.append(line) 
try: 
    for data in dist: 
     for line in data: 
      if dist[n][1] in dist[m][0]: 
       match.append([dist[n][1],dist[m][0],n,m]) 
      else: 
       m = m + 1 
    n = n + 1 
except IndexError: 
    print match 

は、ここではいくつかのサンプル入力です:

ここ
26th St South, Jct 13th St South 
N-101 10th St, Jct 23rd St NE 
Central Ave, Interstate 15 
17Th St NE,   N-104 10th St N 
N-60 10th Ave S, End 4 lane 
Fox Farm Rd ,  Flood Road 

が最新出力され、この出力はそれほど一致が見つかったないelse句からです。 mはちょうどうまく反復していますが、nが反復する前に停止します。

I-15 Gore Hill  Concrete 1 0 
I-15 Gore Hill  Fox Farm Rd 2 0 
I-15 Gore Hill  13th St South 3 0 
I-15 Gore Hill  23rd St NE 4 0 
I-15 Gore Hill  Intererstate 15 5 0 
I-15 Gore Hill  N-104 10th St N 6 0 
I-15 Gore Hill  4 lane 7 0 
I-15 Gore Hill  Flood Road 8 0 
I-15 Gore Hill  Division 9 0 
I-15 Gore Hill  6th St 10 0 
I-15 Gore Hill  Concrete 11 0 
+1

または多次元アレイを取りますか?だから、nとmが1つのインデックスから離れているすべてのマッチが欲しいですか? (0、n):jの範囲(0、m): – Edward

+0

@Edward私は1行を比較しようとしていたのでオフセットを行いました次の行に移動します。私はもうそれを変えるのは理にかなっていないと思う。 –

+0

あなたが何を得ているのか、何をしたいのかを – Edward

答えて

1

私は他のN、Mの初期化及び反復(追加)

for n in range(0,len(dist)): 
    for m in range(0,len(dist)): 
     if dist[n][1] in dist[m][0]: 
      match.append([dist[n][1],dist[m][0],n,m]) 
+1

また、オブジェクトの次元インデックスの外に出ないので、 'try'の例外処理の必要はありません – Edward

関連する問題