Shadowing Practice: List Comprehension || Python Tutorial || Learn Python Programming - Learn English Speaking with Video

Les maken...
1
When coding, you spend a lot of time making lists.
2
In many languages this can be tedious.
3
Create an empty list, set up a for loop, then add the items to the list one by one.
4
Python cares about your sanity and gives you a tool to simplify this process, list comprehensions.
5
In most cases, list comprehensions let you construct a list in a single line of code.
6
It's now time for Python to shine and save time with a single line.
7
We will cover many examples of list comprehensions, but first, let's talk about them generally.
8
In Python, lists are a collection of data surrounded by brackets, and the elements are separated by commas.
9
A list comprehension is also surrounded by brackets, but instead of a list of data inside, you enter an expression followed by for loops and if clauses.
10
Here is the most basic form for a list comprehension.
11
The first expression generates the elements in the list, in the list, and you follow this with a for loop over some collection of data.
12
This will evaluate the expression for every item in the collection.
13
If you only want to include the expression for certain pieces of data, you can add on an if clause after the for loop.
14
The expression will be added to the list only if the if clause is true.
15
You can even have more than one if clause, and the expression is in the list only if all the if clauses are true.
16
And you can even loop over more than one collection.
17
Let's now see some examples.
18
For our first example, let's create a list of the squares of the first 100 positive integers.
19
Let's first do this without list comprehensions.
20
To begin, you might create an empty list called squares.
21
Next, you would loop over the first 100 positive integers.
22
You would then append the square of i to the list squares.
23
Don't forget that an exponent in Python is represented by double asterisks.
24
Why, oh why, do they not use the intergalactic mathematical notation for exponents?
25
To see that this works print the list squares Let's do this once more using list comprehensions.
26
We will call the list comprehension squares 2
27
Open with a bracket then first type the expression for each term in the list
28
Finally enter the desired for loop
29
if you print this you get the exact same list But we only needed one line of code instead of three
30
Let's now look at a slightly more complex example.
31
We'll create a list of remainders when you divide the first 100 squares by 5.
32
To find the remainder when you divide by 5, use the % operator.
33
In mathematics, this is the same as taking the square mod 5.
34
If you print the list, you'll see there are only 3 perfect squares mod 5, 0, 1, and 4.
35
Let's do this again but look at the remainders when you divide the squares by 11.
36
We see the perfect squares mod 11 are 0, 1, 3, 4, 5, 9.
37
This example shows you that the expressions in the list comprehension can be complex.
38
By the way, if you look at the remainders when you divide by a prime number p, you'll notice an interesting pattern.
39
The number of remainders is p plus 1 divided by 2.
40
The problem of finding which numbers appear in the list is a complex puzzle from number theory known as quadratic reciprocity, and was first proved by Gauss.
41
Next, let's create a list comprehension that has an if clause.
42
Suppose we have a list of movies and we want to find those movies that start with the letter G.
43
Let's see how to do this with and without list comprehensions.
44
If you were not using list comprehensions, you'd start by making an empty list.
45
Next, loop over the list of movies.
46
We can use the starts with method to see if the title starts with the letter G.
47
If it does, then append it to our list.
48
Print the list to make sure that it worked.
49
But this four-line routine can be done in a single line with a list comprehension.
50
The expression we want to appear in our list is simply the title.
51
Next, loop over the movies.
52
But also, check that the title starts with the letter G.
53
Print and observe.
54
We get the same answer with a single line of code.
55
Let's complicate this example a bit more.
56
Suppose our list of movies is a list of tuples
57
containing both the title of the movie and the year it was released.
58
What if we want a list of the titles of all movies that were released before the year 2000?
59
How would you do this using list comprehensions?
60
As before, we want our list to only contain the titles, but this time, when we write the for loop, each element is a tuple.
61
Next, we select the movies released before 2000 using an if clause on the year.
62
If you print the list, you can see that it worked.
63
In this example, the IF block used the year, but the year was not included in the list.
64
Only the title is included.
65
Let's see a mathematical example.
66
Suppose you use a list to represent a vector.
67
How would you perform scalar multiplication on this vector?
68
That is, what if we want to multiply each number by 4?
69
You might be tempted to try 4 times v, but look what happens.
70
This is unusual.
71
What happened here is 4 times v is the same as v plus v plus v plus v.
72
And in Python, if you add two lists, it concatenates them, rather than adding them component-wise.
73
For example, if you add 2, 4, 6 and 1, 3, you get the list 2, 4, 6, 1, 3.
74
So 4 times v is just a list containing four copies of v.
75
This is not what we want.
76
We can achieve scalar multiplication with a list comprehension.
77
Just make a list comprehension where you multiply each component by 4.
78
If you print this vector, you can see we get the desired result.
79
For our final example, let's use list comprehensions to compute the Cartesian product of sets.
80
The Cartesian product is named after the French scholar René Descartes.
81
Recall that if you have two sets A and B, then the Cartesian product is the set of pairs where the first component is in A
82
and the second component is from B.
83
You can write this mathematically like this.
84
For example, if A is the set and B is the set , then the Cartesian product is the set of pairs .
85
Let's use list comprehensions to compute the Cartesian product of two sets.
86
Let A be the list of odd integers 1, 3, 5, and 7.
87
Let B be the list of even integers .
88
To compute the Cartesian product, create a list comprehension where each term is the tuple a, b.
89
Next, write a for loop over the elements of a, and then a for loop over the elements of b.
90
If you print the product, you can see the list contains all 16 possible pairs.
91
Using this technique, you can even compute the Cartesian product of three or more sets.
92
With list comprehensions, you can build complex lists using a single line of code.
93
And with Socratica, you can learn complex topics in a single video.
94
So please, append yourself to our list of subscribers.
95
And if you are in a position to help financially, we would be honored to add you to our list of patrons.
96
Now go forth and code compactly.
97
you

Woordenschat en spreektips bij deze les

Deze spreekles op niveau C1 is gebaseerd op de video “List Comprehension |”. Deze woorden komen het vaakst terug: comprehension, loop, square, example, expression. Deze video bevat 97 zinnen en 1239 woorden om na te spreken. Het gesproken deel duurt 7:33. De spreker praat in een natuurlijk tempo van ongeveer 164 woorden per minuut, dicht bij een alledaags gesprek. Slechts 81% van de woorden hoort bij de 3.000 meest gebruikte Engelse woorden, dus de woordenschat is pittig.

Belangrijke woorden in deze video

De 15 moeilijkste woorden uit de video, met uitspraak en betekenis:

WoordUitspraakBetekenis
comprehension zelfstandig naamwoord/ˌkɑmpɹɪˈhɛnʃn̩/begrip, verstandigheid
clause zelfstandig naamwoord/klɔːz/nevenschikking, bijzin
remainder zelfstandig naamwoord/ɹəˈmeɪndɚ/rest, restant
compute werkwoord/kəmˈpjuːt/uitrekenen, berekenen
integer zelfstandig naamwoord/ˈɪn.tɪ.d͡ʒə(ɹ)/geheel getal
append werkwoord/ʌˈpɛnd/hechten, aanhechten
litter zelfstandig naamwoord/ˈlɪt.ɚ/strooisel
bracket zelfstandig naamwoord/ˈbɹækɪt/haakje
vector zelfstandig naamwoord/ˈvɛktɚ/vector
multiplication zelfstandig naamwoord/ˌmʌltɪplɪˈkeɪʃən/vermenigvuldiging
multiply werkwoord/ˈmʌltɪplaɪ/vermenigvuldigen
scalar bijvoeglijk naamwoord/ˈskeɪ.lə/scalair
surround werkwoord/səˈɹaʊnd/omgeven, omringen
mathematical bijvoeglijk naamwoord/ˌmæθ(.ə)ˈmæt.ɪ.kəl/wiskundig
complicate werkwoord/ˈkɑmplɪkeɪt/compliceren

Phrasal verbs die je zult horen

WoordUitspraakBetekenis
set up werkwoord/ˌsɛt ˈʌp/bereiden, voorbereiden

Zinnen om te herhalen

Korte, volledige zinnen uit de video die je in alledaagse gesprekken kunt gebruiken:

  • Let's now see some examples.
  • Let's first do this without list comprehensions.
  • Let's now look at a slightly more complex example.
  • How would you do this using list comprehensions?
  • How would you perform scalar multiplication on this vector?

Grammatica in deze video

De structuren die de spreker het meest gebruikt, met de exacte woorden uit de video:

StructuurIn de video
Voorwaardelijke zinnen if + zin, will/would + werkwoord — een voorwaarde en het gevolgIf you print the list, you'll see
Lijdende vorm be + voltooid deelwoord — het gaat om wat er gebeurt, niet om wie het doetare separated · is also surrounded · will be added

Uitspraak om op te letten

De spreker gebruikt 5 samentrekkingen en verkorte vormen, zoals you'll, don't, we'll. Spreek ze kort uit, zoals je ze hoort.

  • De klanken “sh” en “zh”: comprehension /ˌkɑmpɹɪˈhɛnʃn̩/, multiplication /ˌmʌltɪplɪˈkeɪʃən/, notation /noʊˈteɪʃən/
  • Lange woorden — let op de klemtoon: multiplication /ˌmʌltɪplɪˈkeɪʃən/, mathematical /ˌmæθ(.ə)ˈmæt.ɪ.kəl/, concatenate /kənˈkæ.tə.neɪt/, reciprocity /ˌrɛsəˈprɑsəti/

Klanken die Nederlandstaligen lastig vinden:

  • Stemhebbende eindmedeklinker — /b/, /d/, /g/, /z/, /v/ niet verscherpen: clause /klɔːz/, append /ʌˈpɛnd/, surround /səˈɹaʊnd/, observe /əbˈzɜːv/
  • /æ/ — opener dan de Nederlandse “e”: bracket /ˈbɹækɪt/, mathematical /ˌmæθ(.ə)ˈmæt.ɪ.kəl/, asterisk /ˈæstəɹɪsk/, concatenate /kənˈkæ.tə.neɪt/, quadratic /kwɒdˈɹætɪk/

Zo oefen je met deze video

  1. Luister de hele video één keer zonder te spreken en noteer de woorden die je niet kent.
  2. Begin op 0,75× snelheid, spreek zin voor zin na en ga terug naar normale snelheid zodra het makkelijk gaat.
  3. Neem jezelf op en vergelijk met het origineel; let daarbij op woorden als comprehension, clause, remainder.

Wat is de Shadowing-techniek?

Shadowing is een wetenschappelijk onderbouwde taalleermethode die oorspronkelijk is ontwikkeld voor professionele tolkentraining en gepopulariseerd door polyglot Dr. Alexander Arguelles. De methode is eenvoudig maar krachtig: je luistert naar native Engelse audio en herhaalt het onmiddellijk hardop — als een schaduw die de spreker volgt met slechts 1–2 seconden vertraging. In tegenstelling tot passief luisteren of grammaticadrills, dwingt shadowing je hersenen en mondspieren om echte spraakpatronen tegelijkertijd te verwerken en te reproduceren. Onderzoek toont aan dat het de uitspraaknauwkeurigheid, intonatie, ritme, verbonden spraak, luisterbegrip en spreekvaardigheid aanzienlijk verbetert — waardoor het een van de meest effectieve methoden is voor IELTS Speaking-voorbereiding en echte Engelse communicatie.

Shadowing-techniek: lees de volledige stap-voor-stap-gids →