Python练习题答案: 删除最小值【难度:1级】--景越Python编程实例训练营,1000道上机题等你来挑战

删除最小值【难度:1级】:

答案1:

def remove_smallest(numbers):
    a = numbers[:]
    if a:
        a.remove(min(a))
    return a​

答案2:

def remove_smallest(numbers):
    if len(numbers) < 1: 
        return numbers
    idx = numbers.index(min(numbers))
    return numbers[0:idx] + numbers[idx+1:]

答案3:

def remove_smallest(n):
    return n[:n.index(min(n))] + n[n.index(min(n)) + 1:] if n != [] else []

答案4:

def remove_smallest(numbers):
    return numbers[0:numbers.index(min(numbers))]+numbers[numbers.index(min(numbers))+1:] if numbers else numbers
​

答案5:

def remove_smallest(numbers):
    if len(numbers) <= 1: return []
    numbers.remove(min(numbers))
    return numbers​

答案6:

def remove_smallest(numbers):    
    if(len(numbers) <=1): 
        return []
    numbers.remove(min(numbers))    
    return numbers
​

答案7:

def remove_smallest(numbers):
    return [n for i, n in enumerate(numbers) if i != numbers.index(min(numbers))]

答案8:

def remove_smallest(numbers):
    #    raise NotImplementedError("TODO: remove_smallest")
    return [numbers[i] for i in range(len(numbers)) if i != numbers.index(min(numbers))]

答案9:

def remove_smallest(numbers):
    if len(numbers) == 0:
        return(numbers)
    smvalue = numbers[0]
    smindex = 0
    if len(numbers) > 1:
        for i in range(1, len(numbers)):
            if numbers[i] < smvalue:
                smvalue = numbers[i]
                smindex = i
        return(numbers[0:smindex] + numbers[(smindex + 1):len(numbers)])
    else:
        return(list())

答案10:

def remove_smallest(numbers):
    if not numbers:
        return numbers
    else:
        new = numbers[:]
        new.remove(min(numbers))
    return new
        
​

答案11:

def remove_smallest(numbers):
    if len(numbers) != 0:
        return numbers[:numbers.index(min(numbers))] + numbers[numbers.index(min(numbers))+1:]
    return numbers
​

你可能感兴趣的:(Python编程高级练习题)