python现有多个大列表,列表中有n多个字典,我想取一个字典中某个键的对应的列表,对应的这个列表也是n多个字典,找到其中有一个键sensorId等于radar_front这个字典中timestamp这个值,会有多个大列表,但是我每个大的列表只保留一次结果即可
时间: 2024-03-05 17:54:24 浏览: 49
如果您想要在多个大列表中查找符合条件的字典,并且每个大列表只保留一次结果,可以使用以下代码作为参考:
```python
# 假设大列表为 data_list,每个字典中包含键 sensorId 和 timestamp,对应的列表为 sensor_data_list
# 用于保存结果的变量
result = None
# 遍历大列表
for data_dict in data_list:
# 如果字典中包含键 sensorId 值为 radar_front
if data_dict.get('sensorId') == 'radar_front':
# 在字典中查找键 timestamp 对应的值
timestamp_value = data_dict.get('timestamp')
# 遍历另一个列表
for sensor_data_dict in sensor_data_list:
# 如果字典中包含键 timestamp 值为 timestamp_value
if sensor_data_dict.get('timestamp') == timestamp_value:
# 获取键 sensor_data 对应的值
sensor_data_value = sensor_data_dict.get('sensor_data')
# 如果 result 还没有赋值,则将其设置为 sensor_data_value
if result is None:
result = sensor_data_value
# 已经找到了一个符合条件的字典,退出循环
break
# 如果 result 已经被赋值,则说明已经找到了一个符合条件的字典,退出循环
if result is not None:
break
```
在上面的代码中,我们首先定义了一个变量 `result` 来保存结果。然后,我们遍历大列表 `data_list`,对于每个字典,如果其包含键 `sensorId` 值为 `radar_front`,则在其中查找键 `timestamp` 对应的值。接着,我们遍历另一个列表 `sensor_data_list`,对于每个字典,如果其包含键 `timestamp` 值为上一步中找到的值,则获取键 `sensor_data` 对应的值。如果 `result` 还没有被赋值,则将其设置为 `sensor_data_value`;否则,已经找到了一个符合条件的字典,退出循环。
请注意,以上代码只会保留一个符合条件的字典。如果您想要保留多个符合条件的字典,可以将 `result` 定义为一个列表,并将 `sensor_data_value` 添加到该列表中即可。
阅读全文