Как указывает Свен Марнах , строки являются неизменяемыми, и вы просто привязываете x
к новой строке, созданной нотацией среза.Вы можете продемонстрировать, что x
действительно указывает на один и тот же объект в словаре, используя id
:
>>> obj = 'hello'
>>> id(obj)
<<< 4318531232
>>> d = {'key': obj}
>>> [id(v) for v in d.values()]
<<< [4318531232]
>>> [id(v) for v in d.itervalues()]
<<< [4318531232]
>>> [(k, id(v)) for k, v in d.items()]
<<< [('key', 4318531232)]
>>> [(k, id(v)) for k, v in d.iteritems()]
<<< [('key', 4318531232)]
. Вы можете использовать iteritems
, чтобы перебрать ключ и значение вместеделать то, что вы хотите:
for k,v in dict.iteritems():
dict[k] = v[2:]