[英]Find word from dictionary in string
我正在研究項目中的問題。 我有一個帶列的數據庫,其中存儲了“ 15分鍾休息時間”或“ 30分鍾空閑時間”之類的類型,我想再創建一個帶類別的列。 我的類別存儲在字典中:
{ "short":["10","5","15","10min","5min","15min","shorter"],
"middle":["20","25","30","35","20min","25min","30min","35min"],
"long":["40","45","50","55","60","40min","45min","50min","55min","60min"]}
知道如何使用python將類別分配給類型嗎? 我的意思是僅僅找到詞典中與單詞相似的部分? 到目前為止我的代碼
...calling sql select
for i, index in rows():
type = index[0]
if (any of words from dictionary) is in type:
category = (name of category, for example "short")
update in sql
...
謝謝
您想確定休息說明中是否有任何類別標記。 假設s1
和s2
是您的樣本描述,而d
是您的字典:
s1 = "15 mins break"
s2 = "30 min free time"
s3 = "something5something"
然后,以下表達式將評估其類別( re.findall()
的目的是標記文本;使用適合您項目的內容替換正則表達式。)
[cat for cat in d if any(marker in re.findall(r'[a-z0-9]+',s1) for marker in d[cat])]
#['short']
[cat for cat in d if any(marker in re.findall(r'[a-z0-9]+',s2) for marker in d[cat])]
#['middle']
[cat for cat in d if any(marker in re.findall(r'[a-z0-9]+',s3) for marker in d[cat])]
#[]
假定所有字符串都為小寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.