Для диктовки это просто и быстро:
for x in range(100):
if x not in mydic:
mydic[x] = x # or whatever value you want
то есть просто проверьте с not in
вместо in
.
Это здорово для диктата. Для списка это будет очень медленно (квадратично); для скорости вам нужно добавить вспомогательный набор (надеюсь, что все элементы в списке могут быть хэшируемыми) перед циклом, а также проверить и обновить его в цикле. I.e.:
auxset = set(mylist)
for x in range(100):
if x not in auxset:
auxset.add(x)
mylist.append(x) # or whatever
Для кортежа невозможно что-либо добавить к нему или каким-либо иным образом изменить его: конечно, кортежи неизменны! Конечно, вы это знаете ?! Так зачем спрашивать?