Pages

JavaScript ↔ Python

🍕JavaScript ↔ Python

Les principales opérations sur les collections : filter, map, reduce, groupBy, find, some, every et includes.

JavaScript

Python


JavaScript 

filter()

compréhension de liste

sélectionner

map()

compréhension de liste

transformer

reduce()

boucle for

accumuler

groupBy()

defaultdict + for

regrouper

find()

next() + générateur

trouver un élément

some()

any()

au moins un

every()

all()

tous

includes()

in

contient

1. filter()

// JavaScript
const parisiens = etudiants.filter(e => e.ville === "Paris");

// Python
parisiens = [
e for e in etudiants
if e["ville"] == "Paris"
]

2. map()

// JavaScript
const noms = etudiants.map(e => e.nom);

// Python
noms = [e["nom"] for e in etudiants]

3. reduce()

// JavaScript
const total = etudiants.reduce((acc, e) => {
return acc + e.age;
}, 0);
 

// Python

 total = 0

for e in etudiants:
total += e["age"]

4. groupBy()

// JavaScript
const groupes = Object.groupBy(
etudiants,
e => e.ville
);

// Python
from collections import defaultdict

groupes = defaultdict(list)

for e in etudiants:
    groupes[e["ville"]].append(e)

5. find()

// JavaScript
const etudiant = etudiants.find(
e => e.nom === "Alice"
);

// Python
etudiant = next(
(e for e in etudiants if e["nom"] == "Alice"),
None
)

6. some()

// JavaScript
const existe = etudiants.some(
e => e.ville === "Paris"
);

// Python
existe = any(
e["ville"] == "Paris"
for e in etudiants
)

7. every()

// JavaScript
const tousParisiens = etudiants.every(
e => e.ville === "Paris"
);

// Python
tous_parisiens = all(
e["ville"] == "Paris"
for e in etudiants
)

8. includes()

// JavaScript
const villes = ["Paris", "Lyon", "Marseille"];

villes.includes("Paris");

  // Python
villes = ["Paris", "Lyon", "Marseille"]

"Paris" in villes

Exemple complet : grouper les étudiants par ville

Données Python :

etudiants = [
{"nom": "Alice", "ville": "Paris"},
{"nom": "Bob", "ville": "Lyon"},
{"nom": "Chloé", "ville": "Paris"},
{"nom": "Alice", "ville": "Marseille"},
{"nom": "Bob", "ville": "Lyon"}
]

Équivalent du reduce JavaScript :

groupes = {}

for e in etudiants:
ville = e["ville"]

if ville not in groupes:
    groupes[ville] = []

groupes[ville].append(e)

🛟Mémo

·        filter() → [ ... for ... if ... ]

·        map() → [ ... for ... ]

·        reduce() → for + accumulateur

·        groupBy() → defaultdict + for

·        find() → next(...)

·        some() → any()

·        every() → all()

·        includes() → in



Remarque : en Python, filter(), map() et reduce() existent, mais les compréhensions de listes et les boucles for sont souvent plus naturelles pour apprendre ces opérations.


 

ficher → lien