Когда вы назначаете dict2 = dict1
, вы не делаете копию dict1
, это приводит к тому, что dict2
является просто другим именем для dict1
.
Чтобы скопировать изменяемые типы, такие как словари , используйте copy
/ deepcopy
модуля copy
.
import copy
dict2 = copy.deepcopy(dict1)
Полагаю, вы действительно хотите это:
$ echo -e "\tNA20826_NA20826\tNA20828_NA20828\tNA20819_NA20819" | sed -r '1s/_[^\t]*//g'
NA20826 NA20828 NA20819
_[^\t]*
, поскольку он TAB
разделен, поэтому начиная с _
до TAB
(или конца строки) можно быть удаленным.
g
флаг должен заменить все вхождения в строке.
Первый 1
должен ограничить замену в первой строке - Строка заголовка.
Ваша собственная s команда ubstitude 's/[_].*$//'
, должна заменить от первого _
до конца строки, так что в итоге останется только один оставленный заголовок.