您如何找出值属于哪个对象?

时间:2019-11-26 16:50:56

标签: python-3.x dictionary trace

说我有一本叫做dic的字典:

dic = {"a":1, "b":2, "c":3}

让我们说我有一些代码,然后提供键dic [“ a”]来得出值1。如何通知程序值1来自“是“ dic”中的“”,而不是列表或另一个dic,依此类推?

这很重要,因为正在编写一个程序,其中存在许多相同的值,但是程序的某些部分将根据该值的来源来运行。

谢谢。

1 个答案:

答案 0 :(得分:0)

据我所知,没有办法完成您要问的事情。从词典和其他来源获取的数据不了解它们最初与之关联的密钥。

我认为最干净的方法是拥有某种包装器函数来为您处理并以易于使用的格式存储数据:

from typing import Dict, NamedTuple

class Record(NamedTuple):
    amount: int
    source: str

def recording_get(dict: Dict[str, int], source: str) -> Record:
    return Record(dict[source], source)


dic = {"a":1, "b":2, "c":3}
rec = recording_get(dic, "a")
print(rec)  #  Prints Record(amount=1, source='a')