gpt4 book ai didi

python - 具有多个条件的字典的逆模糊匹配

转载 作者:太空宇宙 更新时间:2023-11-03 19:50:59 25 4
gpt4 key购买 nike

我正在尝试在 python 字典上使用多个条件进行逆模糊选择,但无法实现。

我有一本包含天气信息的字典:

{'time': '2020-01-21',
'summary': 'Rain and dangerously windy throughout the day.',
'icon': 'rain',
'sunriseTime': 1579590780,
'sunsetTime': 1579625640,
'moonPhase': 0.9,
'precipIntensity': 4.0669,
'precipIntensityMax': 6.6666,
'precipIntensityMaxTime': 1579640520,
'precipProbability': 1,
'precipType': 'rain',
'temperatureHigh': 13.39,
'temperatureHighTime': 1579608240,
'temperatureLow': 11.49,
'temperatureLowTime': 1579645500,
'apparentTemperatureHigh': 13.11,
'apparentTemperatureHighTime': 1579608240,
'apparentTemperatureLow': 11.76,
'apparentTemperatureLowTime': 1579645500,
'dewPoint': 9.58,
'humidity': 0.88,
'pressure': 1024.8,
'windSpeed': 14.23,
'windGust': 23.47,
'windGustTime': 1579628880,
'windBearing': 72,
'cloudCover': 0.99,
'uvIndex': 1,
'uvIndexTime': 1579608060,
'visibility': 6.288,
'ozone': 406.5,
'temperatureMin': 8.41,
'temperatureMinTime': 1579569780,
'temperatureMax': 13.82,
'temperatureMaxTime': 1579639560,
'apparentTemperatureMin': 3.78,
'apparentTemperatureMinTime': 1579569360,
'apparentTemperatureMax': 13.54,
'apparentTemperatureMaxTime': 1579639560}

我想删除文本中带有“Time”、“High”或“Low”的所有键。

以下代码为我提供了我想要删除的所有键:

{k:v for (k,v) in forecast_dict[0].items() for x in ["Time", "High", "Low"] if x in k}

输出:

{'sunriseTime': 1579590780,
'sunsetTime': 1579625640,
'precipIntensityMaxTime': 1579640520,
'temperatureHigh': 13.39,
'temperatureHighTime': 1579608240,
'temperatureLow': 11.49,
'temperatureLowTime': 1579645500,
'apparentTemperatureHigh': 13.11,
'apparentTemperatureHighTime': 1579608240,
'apparentTemperatureLow': 11.76,
'apparentTemperatureLowTime': 1579645500,
'windGustTime': 1579628880,
'uvIndexTime': 1579608060,
'temperatureMinTime': 1579569780,
'temperatureMaxTime': 1579639560,
'apparentTemperatureMinTime': 1579569360,
'apparentTemperatureMaxTime': 1579639560}

当我尝试使用以下命令进行反向选择时:

{k:v for (k,v) in forecast_dict[0].items() for x in ["Time", "High", "Low"] if x not in k}

我取回了整本字典以及所有条目。我认为问题出在列表解包上,但是如果它适用于直接过滤,那么它不应该适用于反向过滤吗?

最佳答案

这就是你所追求的吗?使用 any() 和生成器:

>>> {k:v for k, v in forecast_dict[0].items() if not any(x in k for x in["Time", "High", "Low"])}
{'time': '2020-01-21',
'summary': 'Rain and dangerously windy throughout the day.',
'icon': 'rain',
'moonPhase': 0.9,
'precipIntensity': 4.0669,
'precipIntensityMax': 6.6666,
'precipProbability': 1,
'precipType': 'rain',
'dewPoint': 9.58,
'humidity': 0.88,
'pressure': 1024.8,
'windSpeed': 14.23,
'windGust': 23.47,
'windBearing': 72,
'cloudCover': 0.99,
'uvIndex': 1,
'visibility': 6.288,
'ozone': 406.5,
'temperatureMin': 8.41,
'temperatureMax': 13.82,
'apparentTemperatureMin': 3.78,
'apparentTemperatureMax': 13.54}

关于python - 具有多个条件的字典的逆模糊匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59845450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com