我有这两个变量:
instance = [0.45,6.54,19.0,3.34,2.34]
distance_tolerance = [5.00,10.00,20.00]
我喜欢对instance
中的每个数据进行排序,并根据它们的值小于distance_tolerance
中的每个数据对其进行分类,并将其保存在变量中。
例如0.45 < 5.00
然后创建一个变量来保存0.45
并迭代每个数据。
预期结果:
data5 = [0.45,3.34,2.34]
data10 = [0.45,6.54,3.34,2,34]
data20 = [0.45,6.54,19.0,3.34,2.34]
我需要为此任务进行循环,因为实际数据很大。
执行此任务的最佳方法是什么?感谢
答案 0 :(得分:1)
您可以简单地迭代并附加instance
的值,这些值低于您所在的distance_tolerance
的值。
因此对于distance_tolerance
中的某些元素,您可以使用一个名为itemsLowerThan(value)
的函数,该函数将返回instance
中低于您传递的值的元素数组。
例如:
instance = [0.45,6.54,19.0,3.34,2.34]
distance_tolerance = [5.00,10.00,20.00]
def itemsLowerThan(value):
arr = []
for item in instance:
if (item < value):
arr.append(item)
return arr
for tolerance in distance_tolerance:
print(itemsLowerThan(tolerance))
会给出输出:
[0.45, 3.34, 2.34]
[0.45, 6.54, 3.34, 2.34]
[0.45, 6.54, 19.0, 3.34, 2.34]
答案 1 :(得分:0)
您可以使用嵌套列表解析。
[
[0.45, 3.34, 2.34],
[0.45, 6.54, 3.34, 2,34],
[0.45, 6.54, 19.0, 3.34, 2.34],
]
相当于:
void MyDerivedClass::HideMyControls(bool hide)
{
int param = (false == hide)? SW_SHOW : SW_HIDE;
GetDlgItem(IDC_ENABLE_TP_DIRECTORY)->ShowWindow(param);//This is Checkbox control
GetDlgItem(IDC_STATIC_NOTE)->ShowWindow(param);//This is label control
GetDlgItem(IDC_STATIC_DIR_NAME)->ShowWindow(param);//This is label control
GetDlgItem(IDC_EDIT_TP_DIRECTORY)->ShowWindow(param);//This is text control
GetDlgItem(IDC_STATIC_TP_GRPBOX)->ShowWindow(param);//This is label control
InvalidateRect(NULL); //NULL for testing
UpdateWindow();
}