python удаление числовых значений кроме букв - PullRequest
1 голос
/ 12 июля 2020

как я могу удалить все числа в значениях dict?

{
    "1": [
        "Date 1 Food.",
    ],
    "2": [
        "Date 2 Food",
    ],
}

to

    "1": [
        "Date Food.",
    ],
    "2": [
        "Date Food",
    ],
}

Я использовал .find и for & in, но не работал хорошо ..

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Вам просто нужен способ добраться до строк, чтобы вы могли подставлять числа. Самый простой способ - это l oop поверх элементов, а затем замена списков списками обработанных строк:

import re 

d = {
    "1": [
        "Date 1 Food.",
        "Date 1      Fo2334 od.",
    ],
    "2": [
        "Date 2 Food",
    ],
}

for k, v in d.items():
    d[k] = [re.sub(r'\d+\W*', '', s) for s in v]
    
print(d)
# {'1': ['Date Food.', 'Date Food.'], '2': ['Date Food']}
0 голосов
/ 12 июля 2020

Это обновит ваш словарь, удалив цифры из строки

import re

dictionary_variable = {
    "1": [
        "Date 1 Food.",
    ],
    "2": [
        "Date 2 Food",
    ],
}

def replace_digit(s):
    return re.sub('\d', '', s)

def remove_num_from_dict(dictionary_variable):
    return {k: replace_digit(v[0]) for k, v in dictionary_variable.items()}
    
updated_dictionary = remove_num_from_dict(dictionary_variable)
print(updated_dictionary)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...