从字符串中的字典中查找单词
Find word from dictionary in string
我正在解决我项目中的一个问题。
我有一个带有列的数据库,其中存储了 "15 mins break" 或 "30 min free time" 等类型
我想用类别制作另一列。
我的类别存储在字典中:
{ "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])]
#[]
这假设所有字符串都是小写。
我正在解决我项目中的一个问题。 我有一个带有列的数据库,其中存储了 "15 mins break" 或 "30 min free time" 等类型 我想用类别制作另一列。 我的类别存储在字典中:
{ "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])]
#[]
这假设所有字符串都是小写。