Как я могу найти несколько ключевых слов в словарных ключах в Python

Вы также можете объявить его безопасным HTML из кода:

from flask import Markup
value = Markup('<strong>The HTML String</strong>')

Затем передать это значение в шаблоны, и им не нужно |safe его.

-3
задан Prune 16 January 2019 в 18:44
поделиться

3 ответа

Используя понимание списка, вы можете сделать что-то вроде этого:

def getUrl(keyword):
    return [dict[key] for key in dict.keys() if keyword in key]

, если я вызову это с помощью ключевого слова «= черный», он вернёт:

['https://kith.com/products/hoka-one-tor-ultra-high-2-wp-black', 'https://kith.com/products/adidas-originals-yung-1-core-black-white']

. URL-адреса, соответствующие ключам, содержащим keyword.

Если у вас более одного keyword, это должно сработать:

def getUrl(keywords):
    return [dict[key] for key in dict.keys() if len([keyword for keyword in keywords if keyword in key])>0]

, если я вызову это с помощью keywords = ['black','ultra'], это вернет:

['https://kith.com/products/hoka-one-tor-ultra-high-2-wp-black', 'https://kith.com/products/adidas-originals-yung-1-core-black-white']

вернуть [], если ключи не найдены.

0
ответ дан magicleon94 16 January 2019 в 18:44
поделиться

Вы можете перебирать ключи словаря так:

for item in dic:
    if searchterm in item:
        print('do something')
0
ответ дан Falk Schuetzenmeister 16 January 2019 в 18:44
поделиться

Если вы хотите создать функцию, которая берет список ключевых слов и проверяет, что каждое ключевое слово представлено в значении, вы можете сделать что-то вроде этого.

keywords = ['black', 'ultra'] 

def dict_search(list_of_keywords):
    for key in dict.keys():
        if all(x in key for x in list_of_keywords):
            return(key)

In [1]: dict_search(keywords)
hoka one tor ultra high 2 wp boot - black
0
ответ дан MeeshCompBio 16 January 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: