0

私は2つのリストを持っています

listA = [3,45,23,7]
listB = [34,76,21,76]

そして、これらのリストからアイテムを受け取り、true または false を返す関数

def function(itemA,itemB):
    # does something
    # returns true or false

これらのリストをループして、listA の各項目をキーとして辞書に追加したいと考えています。そのキーの値として、新しい listC を追加したいと思います。それ、どうやったら出来るの?以下は動作しません

newDict = {}
for itemA in listA:
    listC = []
    for itemB in listB:
        if function(itemA,itemB):
            listC.append(itemB)
    newDict[itemA] = listC
4

2 に答える 2

0

私はあなたの質問を正しく理解しているかどうか確信が持てません (そして、私が何を理解しているかを知っていればもっと役に立ちますfunction) が、これはあなたが探しているものですか:

answer = {}
for itemA, itemB in itertools.product(listA, listB):
  if function(itemA, itemB):
    answer.setdefault(itemA, []).append(itemB)
于 2013-11-06T18:56:35.790 に答える