gpt4 book ai didi

python - 如何在dict中搜索部分文本?

转载 作者:太空宇宙 更新时间:2023-11-03 19:43:19 25 4
gpt4 key购买 nike

我有一本字典,希望能够使用部分变量进行搜索并返回文本。

df = pd.read_csv('MY_PATH')
d = defaultdict(lambda: 'Error, input not listed')
d.update(df.set_index('msg')['reply'].to_dict())
d[last_msg()]

last_msg() 应该是我的部分变量,d 是我的字典。

我的字典上的索引是 df 中的 msg 列。

msg列中,我有一个像Jeff Bezos这样的样本。

回复列中,我有一个匹配的回复杰夫·贝佐斯是亚马逊的首席执行官

如何在 msg 列中搜索部分值并从 reply 列中返回匹配值?

我只想搜索 JeffBezos 并获得匹配的回复 Jeff Bezos 是亚马逊的首席执行官

PS。 defaultdict 的替代品也可能有助于改进代码。

编辑:last_msg()代码从selenium元素中提取文本。

def last_msg():
try:
post = driver.find_elements_by_class_name("_12pGw")
ultimo = len(post) - 1
texto = post[ultimo].find_element_by_css_selector(
"span.selectable-text").text
return texto
except Exception as e:
print("Error, input not valid")

当我打印(d)时:

defaultdict(<function <lambda> at 0x0000021F959D37B8>, {'Jeff Bezos': 'Jeff Bezos is the CEO of Amazon', 'Serguey Brin': 'Serguey Brin co-founded Google', nan: nan})

当我打印(df)时

   Unnamed: 0           msg                            reply
0 0 Jeff Bezos Jeff Bezos is the CEO of Amazon
1 1 Serguey Brin Serguey Brin co-founded Google
2 2 NaN NaN
3 3 NaN NaN

最佳答案

我找到了一种解决我自己问题的方法:

d = df.set_index('msg')['reply'].to_dict()
...
try:
x = next(v for k, v in d.items() if last_msg() in k)
except StopIteration:
x = 'Error, input not listed'

关于python - 如何在dict中搜索部分文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60302876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com