我有一个dicts列表和元组列表。 dicts列表是一种查找表。基于对,我必须获得密钥,对于非匹配,我需要获得“NA”密钥。
例如
lookup_table = [
{"L" : (148, -1) },
{"D" : (148,440) },
{"N1" : (148,441)},
{"C" : (148,443) }]
data= [(10,10),(15,15),(148,-1) ,(148,440),(148,443)]
我的结果应该是
res = ['NA': (10,10), 'NA': (15,15),"L" : (148, -1),"D" : (148,440),"C" : (148,443) ]
我知道如何获得比赛,但我正在努力争取'NA's
这种方法甚至可以用python实现,因为我有多个具有相同名称的密钥?
谢谢
答案 0 :(得分:0)
NA是您词典的关键,它必须是唯一的值。所以,你最好使用list作为结果。像res = [['N/A', (10,10)],['L', (148, -1)]]
答案 1 :(得分:0)
您的res
会显示一个列表。但是,您似乎希望改为使用dictionary
。
res = ['NA': (10,10), 'NA': (15,15),"L" : (148, -1),"D" : (148,440),"C" : (148,443) ]
所以你可能会尝试这样做:
res = { 'NA': (10,10), 'NA': (15,15),"L" : (148, -1),"D" : (148,440),"C" : (148,443) }
但是,这仍然无效,因为'NA'
是key
,并且它应该是唯一的。那么你应该做的是拥有list of dictionaries
,list of tuples
或list of lists
。
# List of Dictionaries:
res = [{'NA': (10,10)}, {'NA': (15,15}), {'L' : (148, -1)}, {'D' : (148,440)},{'C' : (148,443)} ]
# List of Tuples
res = [('NA', (10,10)), ('NA', (15,15)),('L', (148, -1)), ('D', (148,440)), ('C', (148,443)) ]
# List of Lists
res = [['NA', (10,10)], ['NA', (15,15)], ['L', (148, -1)], ['D', (148,440)], ['C', (148,443)]]
我不确定哪一个最适合你想要实现的目标。
答案 2 :(得分:0)
所以使用你的一些建议解决了它
首先我将查找表转换为列表列表。其次是代码
var value1 = parseFloat(document.getElementsByName('lecturePerHour')[0].value);