Exercices sur les listes

Ecrire les fonctions suivantes en python3. Un exemple de jeu de test est fourni après l'énoncé.

Minimum

Retourner le minimum d'une liste:

In [2]:
import numpy as np

def minimum(l):
    smallest = np.inf
    
    for elem in l:
        if elem < smallest:
            smallest = elem
            
    return smallest

l = [10, 2, 7, 6, 5]

# Should print True if your code works
print(min(l) == minimum(l))
True

Maximum

Retourner le maximum d'une liste:

In [3]:
import numpy as np

def maximum(l):
    highest = -np.inf
    
    for elem in l:
        if elem > highest:
            highest = elem
            
    return highest

l = [10, 2, 7, 6, 5]

# Should print True if your code works
print(max(l) == maximum(l))
True

Copy

Retourner le copie d'une liste:

In [10]:
def copy(l):
    res = []
    
    for elem in l:
        res.append(elem)
    
    return res

l = [10, 2, 7, 6, 5]
l2 = copy(l)

# Should print True if your code works
print(l == l2)
True

Compare

Retourne True si deux listes sont égales :

In [11]:
def compare(l, l2):
    if len(l) != len(l2):
        return False
    
    for i in range(len(l)):
        if l[i] != l2[i]:
            return False
        
    return True

l = [10, 2, 7, 6, 5]
l2 = [2,3,4]

# Should print True if your code works
print(compare(l, l))

# Should print False
print(compare(l, l2))
True
False

Enlever les doublons d'une liste

Faire en sorte qu'une liste ne contienne qu'une seule copie d'un élément sans utiliser les set() :

In [12]:
def remove_dups(l):
    res = []
    
    for elem in l:
        if elem not in res:
            res.append(elem)
            
    return res

l = [1, 1, 2, 3, 2]
l2 = [1, 2, 3]

# Should print True if your code works
print(remove_dups(l) == l2)
True

Combiner deux listes

Combiner deux listes selon de la manière suivante :

In [13]:
def combine(l, l2):
    res = []
    
    for elem_in_l in l:
        for elem_in_l2 in l2:
            res.append(str(elem_in_l) + str(elem_in_l2))
            
    return res

l = ['a', 'b']
l2 = [1, 2, 3]

# Should print True if your code works
print(combine(l, l2) == ['a1', 'a2', 'a3', 'b1', 'b2', 'b3'])
True