1

我一直在努力,所以看看这两个代码块如何不产生相同的 K 输出(变异 K 使其包含所有字符串 s,最初在 K 中,使得 f(s) 返回 True,并且没有其他元素)

def f(s):
    return 'a' in s
K = ['a','b','a','c']
def satisfiesF(L):
ansList = []
for char in L:
    if f(char) == True:
        ansList += [char,]  
L = ansList
return len(L)

def f(s):
    return 'a' in s
K = ['a','b','a','c']
def satisfiesF(L):
    ansList = []
    for char in L:
        if f(char) == True:
            ansList += [char,]    
    CloneL = L[:]
    for e in CloneL:
        if e not in ansList:
            L.remove(e)
    return len(L)

当我键入 print K 时,第一个块给出:

['a','b','a','c']

而第二块给出:

['a','a']

这就是我想要的。但是,我试图了解它产生此类答案的机制。对我来说,这是说我可以改变/更改函数的输入,但我不能只是将我的输入重新分配给我想要的。

4

0 回答 0