python - 使用字典来减少元组列表

标签 python dictionary tuples

我正在尝试使用字典来减少元组列表。起点如下所示。我还包括一本字典 - 字典中的值是我试图用来减少元组列表的内容

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/

相关文章:

python - 自动化无聊的东西 Collat​​z 项目

python - 从现有词典创建频率词典

c++ - 如何构建一个元组 vector 并像对一样对它们进行排序?

c# - C# 中的元组定义

hadoop - Pig Latin:加载一个非常简单的包

python 3.7 : Initialize objects with dataclasses module?

python - 求矩形区域的中心线和中心点

python - Python 比较列表中的下一个元素

python - 圆形递归地在嵌套字典中 float

c# - 有没有办法实现对 ref 结构起作用的 TryGet 函数?