Прочитайте строку в значениях словаря и замените указанный c символ - PullRequest
0 голосов
/ 24 марта 2020

У меня есть диктовка, в которой каждое значение является строкой. В некоторых значениях эта строка имеет «-», который я хотел бы удалить. Мне сказали, что невозможно заменить значения диктата. Это правильно?

mydict

'GCA_000010565.1_genomic    Ribosomal_L10:': '-TRAEKEAIIQELKEKFKEARVAVLADYRGLNV-------AEATRLRRRLREAGCEFKVAKNTLTGLAARQAGLE-----GLDPYLEGPIAIAFG-VDPVAPAKVLSDF--',

Я бы хотел sh что-то вроде

mydict

'GCA_000010565.1_genomic    Ribosomal_L10:': 'TRAEKEAIIQELKEKFKEARVAVLADYRGLNVAEATRLRRRLREAGCEFKVAKNTLTGLAARQAGLEGLDPYLEGPIAIAFGVDPVAPAKVLSDF',

Ответы [ 3 ]

3 голосов
/ 24 марта 2020

Абсолютно, вы можете просто перебрать ключ / значение сопоставления и изменить связанное значение на обработанное

d = {'superkey': "foo--bar", 'superkey2': "--foo--bar",
     'GCA_000010565.1_genomic    Ribosomal_L10:': '-TRAEKEAIIQELKEKFKEARVAVLADYRGLNV-------AEATRLRRRLREAGCEFKVAKNTLTGLAARQAGLE-----GLDPYLEGPIAIAFG-VDPVAPAKVLSDF--', }

# LOOP version
for k, v in d.items():
    d[k] = v.replace("-", "")

# DICT COMPREHENSION version
d = {k: v.replace("-", "") for k, v in d.items()}

print(d)  # {'superkey': 'foobar', 'superkey2': 'foobar', 
             'GCA_000010565.1_genomic    Ribosomal_L10:': 'TRAEKEAIIQELKEKFKEARVAVLADYRGLNVAEATRLRRRLREAGCEFKVAKNTLTGLAARQAGLEGLDPYLEGPIAIAFGVDPVAPAKVLSDF'}
1 голос
/ 24 марта 2020

Нет, вам сказали BS. Решение:

for k in mydict:
     mydict[k] = mydict[k].replace('-', '')
1 голос
/ 24 марта 2020

Да, это возможно. Вы можете просто использовать

mydict['GCA_000010565.1_genomic    Ribosomal_L10:'] = mydict['GCA_000010565.1_genomic    Ribosomal_L10:'].replace("-","")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...