我有一个键和列表的字典。我想遍历这个字典,获取每个列表,遍历每个列表并应用条件,然后将筛选后的列表追加到一个新的字典中。
该函数已经以命令式方式工作。我能否使用列表和字典推导式进行相同的功能呢?主要的障碍是包装字典推导式需要列表推导式的长度来进行条件判断。
这里是它以命令式方式工作的样子:
我在想是否可以使用推导式以函数方式完成相同的操作,就像这样:
当然,Python的linter指出,在条件语句中的len(filtered_confidence_intervals)未被定义。
有什么方法可以解决这个问题吗?
该函数已经以命令式方式工作。我能否使用列表和字典推导式进行相同的功能呢?主要的障碍是包装字典推导式需要列表推导式的长度来进行条件判断。
这里是它以命令式方式工作的样子:
filtered_prediction_dict = {}
for prediction, confidence_intervals in prediction_dict.items():
filtered_confidence_intervals = []
for i in confidence_intervals:
if i > threshold:
filtered_confidence_intervals.append(i)
if len(filtered_confidence_intervals) >= 1:
filtered_prediction_dict[prediction] = filtered_confidence_intervals
我在想是否可以使用推导式以函数方式完成相同的操作,就像这样:
我在想是否可以使用推导式以函数方式完成相同的操作,就像这样:
filtered_prediction_dict = {prediction: [i for i in confidence_intervals if i > threshold] for prediction, confidence_intervals in prediction_dict.items() if len(filtered_confidence_intervals) >= 1}
当然,Python的linter指出,在条件语句中的len(filtered_confidence_intervals)未被定义。
有什么方法可以解决这个问题吗?
filtered_confidence_intervals
改为列表推导式即可,但其他部分保持不变。 - jonrsharpe