字符串与python中的字典键匹配

辛格

我有一个字符串列表和一个字典。例如:

list = ["apple fell on Newton", "lemon is yellow","grass is greener"]
dict = {"apple" : "fruits", "lemon" : "vegetable"}

任务是将列表中的每个字符串与字典的关键字进行匹配。如果匹配,则返回键的值。

当前,我正在使用这种方法,这非常耗时。有人可以用任何有效的方法帮助我吗?

lmb_extract_type = (lambda post: list(filter(None, set(dict.get(w)[0] if w in post.lower().split() else None for w in dict))))

 df['type']  = df[list].apply(lmb_extract_type)
阿克塞·塞加尔

它是单列,在数据帧的每一行中都有一个字符串(例如:“ apple on Newton”)。对于每一行,我必须将其与字典中的键进行匹配,并返回相应键的值

列表中的元素数量大约为40-50百万,因此,这需要花费大量时间

IIUC根据您的注释,可以使用str.extract轻松解决此问题series.replace,这两个都是向量化函数,没有任何循环。

  1. 为了使用str.extract,您可以从字典的键中创建一个正则表达式模式。这仅提取关键字苹果或柠檬。
  2. 您可以使用字典d,然后直接将其直接替换为相应的值
l = ["apple fell on Newton", "lemon is yellow","grass is greener"]
d = {"apple" : "fruits", "lemon" : "vegetable"}

df = pd.DataFrame(l, columns=['sentences']) #Single column dataframe to demonstrate.

pattern = '('+'|'.join(d.keys())+')'   #Regular expression pattern
df['type'] = df.sentences.str.extract(pattern).replace(d)
print(df)
              sentences       type
0  apple fell on Newton     fruits
1       lemon is yellow  vegetable
2      grass is greener        NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在字典键中查找字符串,其中字符串不完全是字典中的键

来自分类Dev

kdb如何从字典中删除字符串键

来自分类Dev

Python字典:将value设置为键字符串

来自分类Dev

带有优先级的字符串中的Python搜索字典键

来自分类Dev

Python-计算具有与特定查找字符串匹配的值的字典键的数量

来自分类Dev

在字典键中组合子字符串的方法

来自分类Dev

Python:检查字典中的键是否包含在字符串中

来自分类Dev

Python中的模糊字符串匹配

来自分类Dev

如果键或值中的字符串匹配,则删除字典中的键和值

来自分类Dev

使用存储在多个字典中不同键中的字符串填充python元组

来自分类Dev

列出datetype的键,该键在字典python列表中具有字符串date

来自分类Dev

字符串中的Python字符匹配

来自分类Dev

如何在字典的每个键中添加字符串?

来自分类Dev

如何在字典中识别匹配值并仅使用这些键创建新字符串?

来自分类Dev

从字典列表中创建键字符串

来自分类Dev

Python中的字符串和字典

来自分类Dev

Unicode字符串作为python字典的键

来自分类Dev

通过字符串键将对象存储在字典中

来自分类Dev

Matlab中带字符串键的字典

来自分类Dev

Python字典,键和字符串

来自分类Dev

Python-计算具有与特定查找字符串匹配的值的字典键的数量

来自分类Dev

Python检查字符串是否包含字典键

来自分类Dev

使用匹配键中的值更新字典中的字符串

来自分类Dev

Python:考虑字符串而不是字符的字典中的反向键和值

来自分类Dev

Python - 匹配字符串中的字典值并按字符串顺序打印键

来自分类Dev

在python中将字符串转换为给定字典的键

来自分类Dev

Python:将字典键与字符串进行比较

来自分类Dev

有没有办法查看字符串是否与字典键匹配以及是否打印其值?Python

来自分类Dev

使用混合键类型将python字典中的键从字符串转换为int类型

Related 相关文章

  1. 1

    在字典键中查找字符串,其中字符串不完全是字典中的键

  2. 2

    kdb如何从字典中删除字符串键

  3. 3

    Python字典:将value设置为键字符串

  4. 4

    带有优先级的字符串中的Python搜索字典键

  5. 5

    Python-计算具有与特定查找字符串匹配的值的字典键的数量

  6. 6

    在字典键中组合子字符串的方法

  7. 7

    Python:检查字典中的键是否包含在字符串中

  8. 8

    Python中的模糊字符串匹配

  9. 9

    如果键或值中的字符串匹配,则删除字典中的键和值

  10. 10

    使用存储在多个字典中不同键中的字符串填充python元组

  11. 11

    列出datetype的键,该键在字典python列表中具有字符串date

  12. 12

    字符串中的Python字符匹配

  13. 13

    如何在字典的每个键中添加字符串?

  14. 14

    如何在字典中识别匹配值并仅使用这些键创建新字符串?

  15. 15

    从字典列表中创建键字符串

  16. 16

    Python中的字符串和字典

  17. 17

    Unicode字符串作为python字典的键

  18. 18

    通过字符串键将对象存储在字典中

  19. 19

    Matlab中带字符串键的字典

  20. 20

    Python字典,键和字符串

  21. 21

    Python-计算具有与特定查找字符串匹配的值的字典键的数量

  22. 22

    Python检查字符串是否包含字典键

  23. 23

    使用匹配键中的值更新字典中的字符串

  24. 24

    Python:考虑字符串而不是字符的字典中的反向键和值

  25. 25

    Python - 匹配字符串中的字典值并按字符串顺序打印键

  26. 26

    在python中将字符串转换为给定字典的键

  27. 27

    Python:将字典键与字符串进行比较

  28. 28

    有没有办法查看字符串是否与字典键匹配以及是否打印其值?Python

  29. 29

    使用混合键类型将python字典中的键从字符串转换为int类型

热门标签

归档