私は次のようなタプルのタプルを持っています: t = ((4, 3), (2, 9), (7, 2), ...)、ネストされた各タプル (つまりt[i][0]) の最初の要素は、繰り返しなしで 1 から 11 の範囲にすることができますが、必ずしも 1 から 11 の間のすべての整数が存在するわけではありません。
r次の方法で、に基づいてリスト(またはタプル)を作成したいt:
結果のリストrの長さは正確に 11 です。の各インデックスについてj、rある場合j + 1 === t[i][0]はi、r[j] = t[i][1]そうでない場合はr[j] = 0。
これは、最初に初期化rしてから[0] * 11、ループしてtに代入t[i][1]することで実行できr[t[i][0] - 1]ます。
t = ((4, 3), (2, 9), (7, 2), (10, 1))
r = [0] * 11
for item in t:
r[item[0] - 1] = item[1]
r = [0, 9, 0, 3, 0, 0, 2, 0, 0, 1, 0]
しかし、もっと効率的な方法 (おそらく機能的な方法) はありますか?