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

C1
⏸ Paused
When coding, you spend a lot of time making lists.
97 sentences
If sentences are too short or too long, click Edit to adjust them.
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

Download App

Everything you need to speak fluently

AI PronunciationScore every sentence
IPA PracticeMaster every sound
VocabularyBuild your word bank
Vocab GameLearn while playing

Context & Background

In today's fast-paced world, learning programming languages like Python has become increasingly popular. The speaker discusses the efficiency of creating lists through list comprehensions, which significantly simplifies coding tasks. This technique not only enhances productivity for programmers but is also a useful analogy for learners of English. Just as list comprehensions streamline data collection in Python, using effective communication techniques can streamline the process of mastering English. By employing techniques like shadow speak, learners can enhance their speaking skills efficiently.

Top 5 Phrases for Daily Communication

  • "Can you help me with this?" - A friendly request for assistance.
  • "I have a quick question." - A polite way to initiate a topic of discussion.
  • "That sounds interesting!" - Expressing engagement and curiosity in conversation.
  • "I’d love to hear more about that." - Compelling others to elaborate on a subject.
  • "Let me think about it." - A considerate response that indicates you're reflecting on the conversation.

Step-by-step Shadowing Guide

To effectively use the shadowing technique with this video on Python's list comprehensions, start by following these steps:

  1. Watch the video first: Pay attention to the speaker's tone and pace. Familiarize yourself with the concept of list comprehensions.
  2. Listen and repeat: Play the video again, this time trying to repeat what the speaker says. Use the shadowing app for a more structured approach, as it can help you synchronize your speech with the video.
  3. Focus on phrasing: Take note of how phrases are constructed, especially the five highlighted phrases. Try to imitate the rhythm and emphasis used by the speaker.
  4. Practice contextually: Create your own sentences using the learned phrases in similar contexts. For example, when discussing your own interests or ideas, incorporate phrases like "That sounds interesting!" to cultivate conversational skills.
  5. Engage with others: Find a conversation partner or join a group to practice using these phrases in real-life discussions. The more you practice, the more natural it will become.

By regularly implementing this shadowspeak method, you'll not only enhance your English speaking ability but also make learning more enjoyable. Emphasizing daily use of these phrases can lead to greater fluency and comfort with the language.

What is the Shadowing Technique?

Shadowing is a science-backed language learning technique originally developed for professional interpreter training and popularized by polyglot Dr. Alexander Arguelles. The method is simple but powerful: you listen to native English audio and immediately repeat it out loud — like a shadow following the speaker with just a 1–2 second delay. Unlike passive listening or grammar drills, shadowing forces your brain and mouth muscles to simultaneously process and reproduce real speech patterns. Research shows it significantly improves pronunciation accuracy, intonation, rhythm, connected speech, listening comprehension, and speaking fluency — making it one of the most effective methods for IELTS Speaking preparation and real-world English communication.