Correction du TP - Le rang d'une page Web

In [10]:
#liste des sites web
Websites = ["A","B","C","D","E","F"]

# Dictionnaire sites-liens
Hypertext = {"A" : ["B","C","E"],
             "B" : ["F"],
             "C" : ["A","E"],
             "D" : ["B","C"],
             "E" : ["A", "B", "C", "D", "F"],
             "F" : ["E"]
            }

# Dictionnaire sites-nombre de visites
Walk_number ={"A" : 0.0,
             "B" : 0.0,
             "C" : 0.0,
             "D" : 0.0,
             "E" : 0.0,
             "F" : 0.0
            } 

# Programme principal
import random
i = 0
while i < 1000:
    x = random.choice(Websites) 
    while random.random() < 0.85:
        Walk_number[x] = Walk_number[x] + 1
        x = random.choice(Hypertext[x])
    i = i + 1

print(Walk_number)
        
{'A': 742.0, 'B': 869.0, 'C': 794.0, 'D': 415.0, 'E': 1662.0, 'F': 1144.0}

En Python, le mot-clé lambda est utilisé pour déclarer une fonction anonyme, raison pour laquelle ces fonctions sont appelées "fonctions lambda" .
Une fonction anonyme se réfère à une fonction déclarée sans nom.
Bien que syntaxiquement elles soient différentes, les fonctions lambda se comportent de la même manière que les fonctions régulières qui sont déclarées en utilisant le mot-clé def.

Une fonction lambda en python a la syntaxe suivante :

 lambda arguments: expression

Dans notre cas de figure :

In [16]:
a = sorted(Walk_number.items(), key=lambda x: x[1], reverse = True)
print(a)
[('E', 1662.0), ('F', 1144.0), ('B', 869.0), ('C', 794.0), ('A', 742.0), ('D', 415.0)]
In [17]:
for k, v in sorted(Walk_number.items(), key=lambda x: x[1], reverse = True):
    print(f"{k} : {v}")
E : 1662.0
F : 1144.0
B : 869.0
C : 794.0
A : 742.0
D : 415.0
In [ ]: