1

2 つのリストがあります。A はタグ名用、B は値用で、同じインデックス位置で関連付けられています。リストから一部の値のみを抽出するために検索を実行する必要があります。これはそれを行うための最良の方法ですか?

手順:

1) 外部ソースから必要なタグ名のリストを取得する

tobesearched = [pippo, pluto]

2) 使用可能なタグのリストでタグ名を検索し、インデックス位置を保存します。

globalTagnames = [gigi, pippo, giongion, pluto, giagia]
 indexposition=    0      1       2       3       4

3) 前のリストのタグ名のインデックスを参照して、別のリストの値を検索します。

values= [10,11,12,13,14]

3) タグ名と別のリストの値を辞書に入れます。

mydict = {pippo:11, pluto:13}
4

2 に答える 2

2

indexposition 配列は必要ありません。あなたは以下のようにすることができます

    for index,tag in enumerate(globalTagnames):
      if tag in tobesearched:
         print values[index]
于 2013-09-05T08:57:26.613 に答える
1

dict を使用します。

>>> globalTagnames = ['gigi', 'pippo', 'giongion', 'pluto', 'giagia']
>>> values = range(10, 15)

とを使用してglobalTagnames、から dict を作成します。valueszipdict()

>>> dic = dict(zip(globalTagnames, values))
>>> dic
{'giongion': 12, 'pippo': 11, 'gigi': 10, 'giagia': 14, 'pluto': 13}

dict-comprehension を使用して検索対象のアイテムを繰り返し処理し、新しい dict を作成します。これで、任意のアイテムのインデックスを時間内に見つけることができますO(1):

>>> tobesearched = ['pippo', 'pluto'] 
>>> {item:dic[item] for item in tobesearched}
{'pippo': 11, 'pluto': 13}
于 2013-09-05T08:45:53.950 に答える