0

私が辞書を持っているとしましょうx = {'123A......': None, '123AA.....': None, '123AB.....': None}

私もリストを持っていると仮定しますy = ['123AC.....', '123ABB....', '123ABC....']

私が欲しいのは次の結果です:

{'123A......': [123AC....], '123AA.....': ['123AC.....'], '123AB.....': ['123ABB....']}

私は次のようなものがうまくいくと思った、

for item in x:
    x[item] = re.findall(r'123[A-Z\.]{7}', ''.join(y))

またはそのようなもの。助けていただければ幸いです。

4

1 に答える 1

2

あなたはこのようなものが欲しいかもしれません

for item in xrange(len(x)):
      x[x.keys()[item]] = re.findall(r'123[A-Z\.]{7}', ''.join(y[item]))

このようにして、x と y の両方がインクリメントされます...

しかし、これはzipでさらに簡単に実行できると確信しています

あなたが持っている場合:

x = ['123A......', '123AA......', '123AB......'] 
y = ['123AC.....', '123ABB....', '123ABC....']

dict(zip(x,y))

それは出力します

{'123AB......': '123ABC....', '123A......': '123AC.....', '123AA......': '123ABB....'}

リストの順序が保持されるため(リスト項目 x[0​​] は y[0] とペアになります)、辞書のキーをインクリメントするだけで...変な順番が起こる..... 遊んでみるとdict(zip(listA,listB))、私が何を話しているかがわかります

于 2013-06-07T20:23:25.707 に答える