Python 列表和词典的操作
这个网站对我帮助很大。非常感谢。 我有一个问题想解决。 我有一个字典列表,就像下面的一个Python 列表和词典的操作,python,list,dictionary,Python,List,Dictionary,这个网站对我帮助很大。非常感谢。 我有一个问题想解决。 我有一个字典列表,就像下面的一个 [{'time': 98000, 'leader': 0, 'vision': 1}, {'time': 98000, 'leader': 1, 'vision': 0}, {'time': 99000, 'leader': 0, 'vision': 1}, {'time': 99000, 'leader': 0, 'vision': 2}, {'time': 99000, 'leader': 1, 'vi
[{'time': 98000, 'leader': 0, 'vision': 1},
{'time': 98000, 'leader': 1, 'vision': 0},
{'time': 99000, 'leader': 0, 'vision': 1},
{'time': 99000, 'leader': 0, 'vision': 2},
{'time': 99000, 'leader': 1, 'vision': 0},
{'time': 99000, 'leader': 1, 'vision': 2},
{'time': 99000, 'leader': 2, 'vision': 1},
{'time': 99000, 'leader': 2, 'vision': 0}]
我需要找到以下匹配项:
{'time':98000,'leader':0,'vision':1}=={'time':98000,'leader':1,'vision':0}OK
...
{'time':99000,'leader':2,'vision':1}={'time':99000,'leader':1,'vision':2`}确定
等等
当“leader”值为0时,我想在指定的时间内(例如“time”:99000)确定是否有任何其他行的“vision”值为0。当我找到它时,我想知道此行的“引线”的值是否等于“引线”的“视觉”的值:0。我将在不同的时间对领导者的其他价值观遵循同样的逻辑
最好的祝愿如果我理解正确,您最好的选择是循环浏览列表并使用中的
操作符进行验证,这可以通过列表理解相对清晰地完成:
def not_unique(el):
print(el, "has a reciprocal")
def unique(el):
print(el, "is unique")
tlv_list = [{'time': 98000, 'leader': 0, 'vision': 1},
{'time': 98000, 'leader': 1, 'vision': 0},
{'time': 99000, 'leader': 0, 'vision': 1},
{'time': 99000, 'leader': 0, 'vision': 2},
{'time': 99000, 'leader': 1, 'vision': 0},
{'time': 99000, 'leader': 1, 'vision': 2},
{'time': 99000, 'leader': 2, 'vision': 1},
{'time': 99000, 'leader': 2, 'vision': 0}]
[not_unique(i) if {'time': i['time'], 'leader': i['vision'], 'vision': i['leader']} in tlv_list else unique(i) for i in tlv_list]
你的意思不是很清楚。是否要循环浏览所有项目并查找匹配项?为什么{'time':98000,'leader':0,'vision':1}={'time':98000,'leader':1,'vision':0}“OK”?请详细说明一下好吗?你在寻找同样的时间价值吗?或检查所有属性(时间、引线、视觉)?将字典转换为字符串。以字符串作为键启动新字典,并将其计数为数据。完成后,根据计数>1进行筛选。当“leader”值为0时,我想在指定的时间内(例如“time”:99000)确定是否有任何其他行的“vision”值为0。当我找到它时,我想知道此行的“引线”的值是否等于“引线”的“视觉”的值:0。我将在不同的时间对领导者的其他价值观遵循相同的逻辑。这听起来有点复杂,您可能需要嵌套的ifs。您可以在a:
中循环d的数组,然后通过键访问字典值<代码>d[键]
。如果a==b,那么两者之间就没有空格了。你救了我的命!!!谢谢,雅各布!!!!