我有两个清单。列表 B 就像一个数据库,我需要将列表 A 的每个元素与它一一比较。可以说
B = [0.6, 1.7, 3, 4.5]
A = [0.6, 0.9, 1.2, 1.5, 2, 2.5, 3, 4, 4.5]
Run Code Online (Sandbox Code Playgroud)
B 是一个排序列表,因此对于每个 A[i],每当算法在 B 中找到 >= A[i] 的数字时,它应该将其作为输出返回。所以我的输出应该是这样的:
C = [0.6, 1.7, 1.7, 1.7, 3, 3, 3, 4.5, 4.5]
Run Code Online (Sandbox Code Playgroud)
您能否建议我最简单的解决方案,尽可能避免嵌套循环?
因此,基于4个条件变量,我要执行一系列操作-假设x,y,z和t。这些变量中的每一个都有可能的True或False值。因此,总共有16种可能的排列。而且我需要针对每个排列执行不同的操作。
什么是做到这一点的最佳方法,而不是进行庞大的if-else构造。
让我们看一个简化的例子。如果我尝试将所有不同的排列包含到一个大型的if-else结构中,这就是我的代码的样子。
if (x == True):
if (y == True):
if (z == True):
if (t == True):
print ("Case 1")
else:
print ("Case 2")
else:
if (t == True):
print ("Case 3")
else:
print ("Case 4")
else:
if (z == True):
if (t == True):
print ("Case 5")
else:
print ("Case 6")
else:
if (t == True):
print ("Case 7")
else:
print ("Case 8")
else:
if (y == True):
if (z == True):
if (t == True):
print …Run Code Online (Sandbox Code Playgroud) python ×2
arrays ×1
combinations ×1
conditional ×1
if-statement ×1
list ×1
numpy ×1
sorting ×1