跟讀練習: List Comprehension || Python Tutorial || Learn Python Programming - 通過影片學習英語口語

選擇練習模式

每種模式都會開啟全屏練習室。

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

下載應用

流利口語所需的一切

AI 發音評分逐句打分
音標練習掌握每個音
詞彙學習建立你的詞庫
詞彙遊戲邊玩邊學

同頻道

FOR YOU

推薦影片

背景與上下文

在這段影片中,講者深入探討了 Python 程式設計中的列表推導式。作為一種簡化的編碼方式,它能夠讓程式設計師用單行程式碼建立複雜的資料列表。這種寫法不僅提升了程式碼的可讀性,還大幅提高了程式設計的效率。對於想要通過看YouTube學英語的學習者來說,瞭解這類程式語言的應用能夠幫助他們更好地理解英語表達,尤其是在技術領域。

日常交流的五個關鍵短語

  • 建立一個空列表 - "Create an empty list"
  • 遍歷某個資料集合 - "Loop over some collection of data"
  • 使用 if 子句 - "Add on an if clause"
  • 評估表示式 - "Evaluate the expression"
  • 列印列表 - "Print the list"

這些表達對於希望提高英語發音的學習者極為重要。從程式設計的角度理解這些短語,能夠幫助學習者在技術討論中游刃有餘。

逐步跟讀指南

以下是針對影片內容的逐步跟讀指南,幫助學習者更好地掌握與列表推導式相關的英語表達:

  1. 觀看影片時,暫停並重復講者的每一句話,嘗試使用 shadow speak 方法,模仿講者的語調和語速。
  2. 在聽的過程中,特別關注“建立一個空列表”和“遍歷某個資料集合”等關鍵短語。通過shadowspeak 的方式,練習這些短語的發音。
  3. 嘗試自己用英語解釋列表推導式的概念,可以採用 shadow speech 的方法記錄下來,然後與影片中的表達進行對比。
  4. 反覆練習時,注意語音的流暢性和發音的準確性,這將直接幫助您在日常交流中提升自信。
  5. 最後,可與他人分享您對列表推導式的理解以及所學的短語,進一步鞏固學習成果。

通過這樣的逐步跟讀練習,學習者不僅可以提高英語發音,還能在日常互動中自如運用技術性語言。

影片中的語法

說話人最常用的結構,並附上影片中的原話:

結構影片中的用法
條件句 if + 從句,will/would + 動詞 — 條件及其結果If you print the list, you'll see
被動語態 be + 過去分詞 — 強調發生了什麼,而不是誰做的are separated · is also surrounded · will be added

什麼是跟讀法?

跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。

影子跟讀法: 閱讀完整分步指南 →