我正试着用字典来删减元组列表。起点如下所示。我还包括了一个字典-字典中的值就是我试图用来减少元组列表的值
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]])
任何帮助都将不胜感激
一份清单可以帮助你。你知道吗
试试这个
这是python中的list comprehension。它将检查列表中的所有属性并比较条件
abs(dic[x[0]] - dic[x[1]]) < 1.0001
满足此条件的元素将返回。你知道吗一个列表可以使这成为一行
相关问题 更多 >
编程相关推荐