所以我有一个参考字典
ref = {"a": 1, "b": 2}
Run Code Online (Sandbox Code Playgroud)
和一个字典列表
dict_list = [{"a": 1, "b": 2, "c": "success!"}, {"a": 1, "b": 3, "c": "nope!"}]
Run Code Online (Sandbox Code Playgroud)
dict_list我想要的是找到与 erence匹配的字典ref,并返回值c(即"success!")。我能够做到这一点,但我根本不喜欢这个解决方案:
In [7]: import pandas as pd
...: def f(ref, dict_list):
...: df = pd.DataFrame.from_records(dict_list)
...: return df.loc[(df["a"] == ref["a"]) & (df["b"] == ref["b"])].c[0]
...:
...: f(ref, dict_list)
Out[7]: 'success!'
Run Code Online (Sandbox Code Playgroud)
如果有人有更优雅的东西(最好是纯Python)那就太好了!