タプルのリストのギャップを埋める方法

Dj_ 96:

私は以下のようなタプルのリストを持っています:

[(1, 'Red'), (2, 'Yellow'), (6, 'Pink'), (7, 'Blue'), (8, 'Green')]

タプル内の数字は、インデックスを表します。しかし、インデックスのいくつかは私の入力ファイルに不足していることから、私は、リスト内のいくつかのタプルを挿入して、次のようなリストを見て行う必要があります。

[(1, 'Red'), (2, 'Yellow'), (3, None), (4, None), (5, None), (6, 'Pink'), (7, 'Blue'), (8, 'Green')]

あなたのいくつかは任意のアイデアを持っている場合は、あなたの時間とコメント何かを取る場合、私は本当にいただければ幸いです。

MARCO Lagalla:

私はここで最も単純な実装提案するが、大規模なリストのために非常に効率的ではありません。

test = [(1, 'color: Red'), (2, 'color: Yellow'), (6, 'color: Pink'), (7, 'color: Blue'), (8, 'color: Green')]


max_index = max(test, key=lambda item:item[0])[0]

missing_values = []
for i in range(1, max_index + 1):
    missing = False
    for index, val in test:
        if i != index:
            missing = True
        else:
            missing = False
            break
    if missing:
        missing_values.append((i,'color: None'))

new_test = test + missing_values
new_test_sorted = sorted(new_test, key=lambda x:x[0])
print(new_test_sorted)

それは与えます:

[(1, 'color: Red'), (2, 'color: Yellow'), (3, 'color: None'), (4, 'color: None'), (5, 'color: None'), (6, 'color: Pink'), (7, 'color: Blue'), (8, 'color: Green')]

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=364943&siteId=1