2016-12-09 5 views
2
l1 = [('x', [1]), ('y', [1]) ('z', [2]] 
l2 = ['1', '2', '3'] 

'x'と 'y'で ' X 『と『尋ねない限りredabilityのために私はここに置くことが文句を言わないことをaditional paramentersを使用して』Y「タスクのリストを反復して、Pythonで翻訳を実行できる翻訳者を取得する

l3 = [[['1'['x', 'y']], ['2'['z']], ['3'[]] 

をそれでは、私は間をほぐしを行うことができます』。

これは私がこれまでに来ているものです:

x = [] 
for i in l2: 
    for j in l1: 
     if i in j[1][0]: 
       x.append(j[0]) 

は、これは私に可能性L1を与えますが、私は「x」を置くことができるように、L2の一部を追加するには運がありませんよそれと "y"。これは学校プロジェクト以来、私はzipのようなツールを使用することはできません。

答えて

0

element[1]に一致するキーのリストにelement[0]を追加l1以上の要素を反復処理し、その後、リストとしてそれらの値を初期化し、キ​​ーがl2の要素であることをdictを構築します。このアルゴリズムで

l3 = {} 
for elem in l2: 
    l3[elem] = [] 

# Look for matches in l1 
for letter, tasks in l2: 
    for task in tasks: 
     l3[str(task)].append(letter) 

l3は、簡単に各タスクの値にアクセスできるようになりdictの代わりlistになります。 listが本当に必要な場合は、それを1に変換してください。

+0

ありがとうございました。いくつかの修正を加えていただきありがとうございました – stasisOo

関連する問題