我正在尝试使用字典来减少元组列表。起点如下所示。我还包括一本字典 - 字典中的值是我试图用来减少元组列表的内容
start = [('bryan', 'lucy'), ('david', 'lucy')]
dic = {'bryan': 4.9, 'lucy': 7.5, 'david': 8.0}
我希望删除任何元素差异大于 1(根据字典中的值)的元组。在这种情况下,所需的输出将是
[('david','lucy')]
b/c 大卫-露西的绝对值=0.5
这是我解决问题的(失败的)尝试。
end = []
for i in range(0,len(start)):
if abs(dic[start[i][0]] - dic[start[i][1]]) < 1.0001:
end.append(dic[start[i]])
任何帮助将不胜感激
最佳答案
列表理解可以帮助你。
[(e,o) for e, o in start if -1 < dic[e]-dic[o] < 1]
关于python - 使用字典来减少元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24948660/