Это не работает так, как вы ожидаете, потому что v
- это список, а не одна строка. По этой причине v.contains(val)
всегда равно False
. Один из способов выполнить то, что вы описываете, будет:
for k, v in mydict.iteritems():
for i, s in enumerate(v):
if val in s:
v[i] = s.replace(val, '')