辞書のサンプルは次のとおりです。
d = { 1:'',2:'',3:'',5:'',6:'2',7:'',9:'',10:'6',11:'7',13:'9',14:'',15:'11'}
そして、キー 3 の後に値として空の文字列を持つキー 4、キー 7 の後の値として空の文字列を持つキー 8 などを追加したい ....Python で最も単純なコードが必要です。
辞書のサンプルは次のとおりです。
d = { 1:'',2:'',3:'',5:'',6:'2',7:'',9:'',10:'6',11:'7',13:'9',14:'',15:'11'}
そして、キー 3 の後に値として空の文字列を持つキー 4、キー 7 の後の値として空の文字列を持つキー 8 などを追加したい ....Python で最も単純なコードが必要です。
>>> d = { 1:'',2:'',3:'',5:'',6:'2',7:'',9:'',10:'6',11:'7',13:'9',14:'',15:'11'}
>>> d.update(dict.fromkeys(set(range(16)).difference(d), ''))
>>> d
{0: '', 1: '', 2: '', 3: '', 4: '', 5: '', 6: '2', 7: '', 8: '', 9: '', 10: '6', 11: '7', 12: '', 13: '9', 14: '', 15: '11'}
この例では順序付けされているように見えますが、dictは順序付けられていないことに注意してください。
Python 辞書は順序を維持しません。別のキーの「後に」何かを追加することはできません。
不足しているキーを追加するだけです:
d.update((missing, '') for missing in set(range(1, max(d) + 1)).difference(d))
これはコンパクトな言い方です:
for index in range(1, max(d) + 1): # all numbers from 1 to the highest value in the dict
if index not in d: # index is missing
d[index] = '' # add an empty entry
ただし、代わりにリストが必要なようです。
alist = [None, '', '', '', '', '', '2', '', '', '', '6', '7', '', '9', '', '11']
whereはあなたのようにalist[15]
戻り'11'
ますd
。最初None
に を使用すると、0 ベースではなく 1 ベースのインデックス作成を簡単に処理できます。それ以外の場合は、そのようにコードを調整できます。