小编jpt*_*jpt的帖子

从排序列表中获取大于给定数字的第一个元素

我有两个清单。列表 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)

您能否建议我最简单的解决方案,尽可能避免嵌套循环?

python arrays sorting numpy list

4
推荐指数
1
解决办法
2321
查看次数

组合条件语句排列的最佳方法

因此,基于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 conditional combinations if-statement

4
推荐指数
1
解决办法
220
查看次数