跟读练习: List Comprehension || Python Tutorial || Learn Python Programming - 通过YouTube学习英语口语
C1
⏸ 已暂停
When coding, you spend a lot of time making lists.
97 句
如果句子过短或过长,请点击 Edit 进行调整。
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
下载应用
Everything you need to speak fluently
AI PronunciationScore every sentence
IPA PracticeMaster every sound
VocabularyBuild your word bank
Vocab GameLearn while playing
背景与上下文
在这段视频中,讲者深入探讨了 Python 编程中的列表推导式。作为一种简化的编码方式,它能够让程序员用单行代码创建复杂的数据列表。这种写法不仅提升了代码的可读性,还大幅提高了编程的效率。对于想要通过看YouTube学英语的学习者来说,了解这类编程语言的应用能够帮助他们更好地理解英语表达,尤其是在技术领域。
日常交流的五个关键短语
- 创建一个空列表 - "Create an empty list"
- 遍历某个数据集合 - "Loop over some collection of data"
- 使用 if 子句 - "Add on an if clause"
- 评估表达式 - "Evaluate the expression"
- 打印列表 - "Print the list"
这些表达对于希望提高英语发音的学习者极为重要。从编程的角度理解这些短语,能够帮助学习者在技术讨论中游刃有余。
逐步跟读指南
以下是针对视频内容的逐步跟读指南,帮助学习者更好地掌握与列表推导式相关的英语表达:
- 观看视频时,暂停并重复讲者的每一句话,尝试使用 shadow speak 方法,模仿讲者的语调和语速。
- 在听的过程中,特别关注“创建一个空列表”和“遍历某个数据集合”等关键短语。通过shadowspeak 的方式,练习这些短语的发音。
- 尝试自己用英语解释列表推导式的概念,可以采用 shadow speech 的方法记录下来,然后与视频中的表达进行对比。
- 反复练习时,注意语音的流畅性和发音的准确性,这将直接帮助您在日常交流中提升自信。
- 最后,可与他人分享您对列表推导式的理解以及所学的短语,进一步巩固学习成果。
通过这样的逐步跟读练习,学习者不仅可以提高英语发音,还能在日常互动中自如运用技术性语言。
什么是跟读法?
跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。
