[英]Python Extracting items from a sublist if they match an item in another list's sublist
[英]Select sublist from a list where sublist's item has minimum difference from a given value
我正在使用python v2.7
,参数为mean_val=35.3085666667
我有一个包含子列表的列表new_add_list
。 在new_add_list[3]
我有一个得分值。 我想从new_add_list
中获得最小值为abs(new_add_list[3]-mean_val)
的子列表。
new_add_list=[
['encoding_txt\\pirkagia_10b_192x144_15_qp_26_ON_encoder_randomaccess_B16_Filte
rs_ON_scalable_JOURNAL2017.txt', '192x144', 26, 35.1782, 136.8125, 300.788, 0.844, -3.5],
['encoding_txt\\pirkagia_10b_384x288_15_qp_28_ON_encoder_randomaccess_
B16_Filters_ON_scalable_JOURNAL2017.txt', '384x288', 28, 35.2193, 275.4614, 1065.412, 2.167, -2],
['encoding_txt\\pirkagia_10b_720x576_15_qp_30_ON_encoder_rando
maccess_B16_Filters_ON_scalable_JOURNAL2017.txt', '720x576', 30, 35.5282, 484.3387, 3536.937, 6.679, 1.5]]
对于该示例,答案必须是:
['encoding_txt\\pirkagia_10b_384x288_15_qp_28_ON_encoder_randomaccess_
B16_Filters_ON_scalable_JOURNAL2017.txt', '384x288', 28, 35.2193, 275.4614, 1065.412, 2.167, -2]
我可以使用类似sub(new_add_list, key=itemgetter(3)-mean_val)
将min
与适当的按键功能配合使用:
min(new_add_list, key=lambda l: abs(l[3] - mean_val))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.