Dj_*_* 96 6 python algorithm indexing tuples
我有一个元组列表,如下所示:
[(1, 'Red'), (2, 'Yellow'), (6, 'Pink'), (7, 'Blue'), (8, 'Green')]
Run Code Online (Sandbox Code Playgroud)
元组中的数字代表索引。但是,由于我的输入文件中缺少一些索引,因此我需要在列表中插入一些元组,并使列表如下所示:
[(1, 'Red'), (2, 'Yellow'), (3, None), (4, None), (5, None), (6, 'Pink'), (7, 'Blue'), (8, 'Green')]
Run Code Online (Sandbox Code Playgroud)
如果你们中的一些人有任何想法,如果您花时间发表评论,我将非常感激。
我在这里提出最简单的实现,但对于大型列表来说效率不高:
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)
Run Code Online (Sandbox Code Playgroud)
这给出:
[(1, 'color: Red'), (2, 'color: Yellow'), (3, 'color: None'), (4, 'color: None'), (5, 'color: None'), (6, 'color: Pink'), (7, 'color: Blue'), (8, 'color: Green')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |