Làm cách nào để tạo vòng lặp bảng trong python?

Trong mô-đun bên dưới, chúng ta sẽ đi sâu vào mã nguồn để tạo bảng cửu chương trong python. Chúng tôi có thể sửa đổi mã nguồn và triển khai bảng cửu chương cho bất kỳ số nào. Chúng ta sẽ thảo luận về nhiều phương pháp để làm điều tương tự bằng cách sử dụng python

Các ví dụ chúng ta sẽ mong đợi là

Sử dụng vòng lặp For

Hãy cho chúng tôi hiểu bằng ví dụ dưới đây về cách chúng tôi có thể tạo bảng cửu chương trong python bằng cách sử dụng chúng cho một vòng lặp

Mã số


# Printing the Multiplication table in Python - Using for loop

num = int(input ("Please enter the number for which we want to print the multiplication table of: "))

print( 'Lets print the table of:' , (num))

# Used print statement to validate the num variable and the user input

# For hardcoding the code , use num = n, where n is the number for which we want to print the multiplication table.

# Using for loop, we  are iterating up to 10 times that is, from s = 1 to s =10

for i in range(1, 11):
   print(num, 'x', i, '=', num*i)

đầu ra. `

Please enter the number for which we want to print the multiplication table of: 4 
Lets print the table of: 4
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36
4 x 10 = 40

Giải trình. Ở đây chúng ta đang sử dụng vòng lặp for, giúp chúng ta in bảng nhân 4. Trước tiên, chúng tôi yêu cầu người dùng nhập số mà chúng tôi muốn bảng được in, sau đó chúng tôi lặp lại nó mười lần bằng hàm range() trong vòng lặp for. Các đối số chúng tôi đã cung cấp bên trong hàm phạm vi () là từ (1, 11), có nghĩa là lớn hơn hoặc bằng 1 và nhỏ hơn 11 sẽ là 10. Chúng tôi cũng đã cung cấp số như đầu vào của người dùng, nhưng chúng tôi có thể hiển thị nó dưới dạng bất kỳ số nào nếu chúng tôi không muốn yêu cầu người dùng cung cấp số đó

Sử dụng vòng lặp While

Hãy để chúng tôi hiểu bằng ví dụ dưới đây về cách chúng tôi có thể tạo bảng cửu chương trong python bằng cách sử dụng vòng lặp while

Mã số


num = int(input ("Please enter the number for which we want to print the multiplication table of: "))

print( 'Lets print the table of:' , (num))

# Used print statement to validate the num variable and the user input

# For hardcoding the code, use num = n, where n is the number for which we want to print the multiplication table.
s = 1
# Using a while loop, we are iterating it up to 10 times as while loop run until the condition holds true. 
   
while s <= 10:    
    num = num * 1    
    print (num, 'x', s, '=', num * s)    
    s = s +  1    

đầu ra

Please enter the number for which we want to print the multiplication table of: 3
Lets print the table of: 3
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30

Giải trình. Ở đây chúng tôi đã sử dụng vòng lặp while để in bảng nhân 3 (trong trường hợp của chúng tôi). Chúng tôi biết rằng vòng lặp while hoạt động cho đến khi điều kiện do chúng tôi chỉ định đúng, trong trường hợp của chúng tôi là tối đa 10. Vì vậy, vòng lặp while sẽ hoạt động trong mười lần và do đó, bảng cửu chương cho đến mười lần sẽ được in ra

Khi bạn đang làm việc với dữ liệu trong Python, vòng lặp for có thể là một công cụ mạnh mẽ. Nhưng chúng cũng có thể hơi khó hiểu khi bạn mới bắt đầu. Trong hướng dẫn này, trước tiên chúng ta sẽ đi sâu vào các vòng lặp for và tìm hiểu cách chúng có thể được sử dụng để thực hiện tất cả những điều thú vị khi bạn thực hiện dọn dẹp dữ liệu hoặc phân tích dữ liệu trong Python

Hướng dẫn này dành cho người mới bắt đầu sử dụng Python, nhưng nếu bạn chưa bao giờ viết một dòng mã nào trước đây, thì bạn có thể muốn bắt đầu bằng cách bắt đầu bằng cách bắt đầu khóa học Cơ bản về Python miễn phí để bắt đầu của chúng tôi, vì chúng tôi sẽ không đề cập đến cơ bản.

Vòng lặp For là gì?

Trong ngữ cảnh của hầu hết các công việc khoa học dữ liệu, các vòng lặp for của Python được sử dụng để lặp qua một đối tượng có thể lặp lại (như danh sách, bộ dữ liệu, tập hợp, v.v. ) và thực hiện hành động tương tự cho mỗi mục nhập. Ví dụ: một vòng lặp for sẽ cho phép chúng ta lặp qua một danh sách, thực hiện cùng một hành động trên từng mục trong danh sách

(Nhân tiện, một đối tượng có thể lặp lại là bất kỳ đối tượng Python nào mà chúng ta có thể lặp qua hoặc “lặp” qua và trả về một phần tử tại một thời điểm. Ví dụ: các danh sách có thể lặp lại và trả về một mục nhập danh sách tại một thời điểm, theo thứ tự các mục nhập được liệt kê. Các chuỗi có thể lặp lại và trả về một ký tự tại một thời điểm, theo thứ tự các ký tự xuất hiện. Vân vân. )

Bạn tạo vòng lặp for bằng cách trước tiên xác định đối tượng có thể lặp lại mà bạn muốn lặp qua, sau đó xác định hành động bạn muốn thực hiện trên từng mục trong đối tượng có thể lặp lại đó. Ví dụ: khi lặp qua một danh sách, trước tiên bạn chỉ định danh sách mà bạn muốn lặp qua, sau đó chỉ định hành động bạn muốn thực hiện trên từng mục danh sách

Hãy xem một ví dụ nhanh. nếu chúng tôi có một danh sách tên được lưu trữ trong Python, chúng tôi có thể sử dụng vòng lặp for để lặp qua danh sách đó, in từng tên cho đến khi hết tên. Dưới đây, chúng tôi sẽ tạo danh sách các tên của mình, sau đó viết một vòng lặp for lặp qua nó, in từng mục trong danh sách theo thứ tự

our_list = ['Lily', 'Brad', 'Fatima', 'Zining']

for name in our_list:
    print(name)
Lily
Brad
Fatima
Zining

Tuy nhiên, đoạn mã này trong vòng lặp đơn giản này đặt ra một câu hỏi. biến

Lily
Brad
Fatima
Zining
2 đến từ đâu? . Nhưng bởi vì các vòng lặp for lặp qua các danh sách, bộ dữ liệu, v.v. theo thứ tự, biến này thực sự có thể được gọi là hầu hết mọi thứ. Python sẽ diễn giải bất kỳ tên biến nào chúng ta đặt vào vị trí đó khi đề cập đến từng mục nhập danh sách theo thứ tự khi vòng lặp thực thi

Vì vậy, trong đoạn mã trên

  • Lily
    Brad
    Fatima
    Zining
    
    2 trỏ đến
    Lily
    Brad
    Fatima
    Zining
    
    4 trong lần lặp đầu tiên của vòng lặp…
  • …sau đó
    Lily
    Brad
    Fatima
    Zining
    
    5 trong lần lặp lại thứ hai của vòng lặp…
  • …và như thế

Đây sẽ là trường hợp bất kể chúng ta gọi biến đó là gì. Vì vậy, ví dụ: nếu chúng tôi viết lại mã của mình để thay thế

Lily
Brad
Fatima
Zining
2 bằng
Lily
Brad
Fatima
Zining
7, chúng tôi sẽ nhận được kết quả chính xác như vậy

for x in our_list:
    print(x)
Lily
Brad
Fatima
Zining

Lưu ý rằng kỹ thuật này hoạt động với mọi đối tượng có thể lặp lại. Ví dụ: các chuỗi có thể lặp lại và chúng ta có thể sử dụng cùng một loại vòng lặp for để lặp qua từng ký tự trong một chuỗi

for letter in 'Lily':
    print(letter)
L
i
l
y

Sử dụng Vòng lặp For với Danh sách Danh sách

Tuy nhiên, trong công việc phân tích dữ liệu thực tế, không chắc là chúng ta sẽ làm việc với các danh sách ngắn, đơn giản như danh sách ở trên. Nói chung, chúng ta sẽ phải làm việc với tập dữ liệu ở định dạng bảng, có nhiều hàng và cột. Loại dữ liệu này có thể được lưu trữ trong Python dưới dạng danh sách các danh sách, trong đó mỗi hàng của bảng được lưu trữ dưới dạng một danh sách trong danh sách các danh sách và chúng ta cũng có thể sử dụng các vòng lặp for để lặp qua các danh sách này

Để tìm hiểu cách thực hiện điều này, chúng ta hãy xem xét một tình huống thực tế hơn và khám phá bảng dữ liệu nhỏ này có chứa một số giá tại Hoa Kỳ và ước tính phạm vi EPA của Hoa Kỳ cho một số ô tô điện

xephạm vigiá cảTesla Model 3 LR31049900Hyundai Ioniq EV12430315Chevy Bolt23836620

Chúng ta có thể biểu thị cùng tập dữ liệu này dưới dạng danh sách các danh sách, như vậy

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]

Bạn có thể nhận thấy rằng trong danh sách trên, số phạm vi và giá của chúng tôi thực sự được lưu trữ dưới dạng chuỗi chứ không phải số nguyên. Không có gì lạ khi bạn sẽ nhận được dữ liệu được lưu trữ theo cách này, nhưng để phân tích, chúng tôi muốn chuyển đổi các chuỗi đó thành số nguyên để chúng tôi có thể thực hiện một số phép tính với chúng. Hãy sử dụng vòng lặp for để duyệt qua danh sách các danh sách của chúng ta, chọn mục nhập

Lily
Brad
Fatima
Zining
8 trong mỗi danh sách và thay đổi nó từ một chuỗi thành một số nguyên

Để làm được điều đó, chúng ta cần làm một số việc. Đầu tiên, chúng ta cần bỏ qua hàng đầu tiên trong bảng của mình, vì đó là tên cột và chúng ta sẽ gặp lỗi nếu cố gắng chuyển đổi một chuỗi không phải là số như

Lily
Brad
Fatima
Zining
9 thành một số nguyên. Chúng tôi có thể làm điều này bằng cách sử dụng danh sách cắt để chọn từng hàng sau hàng đầu tiên bằng cách sử dụng
for letter in 'Lily':
    print(letter)
0. (Nếu bạn cần cải thiện vấn đề này hoặc bất kỳ khía cạnh nào khác của danh sách, hãy xem khóa học tương tác của chúng tôi về các nguyên tắc cơ bản trong lập trình Python)

Sau đó, chúng tôi sẽ lặp qua danh sách các danh sách và với mỗi lần lặp, chúng tôi sẽ chọn phần tử trong cột

for letter in 'Lily':
    print(letter)
1, đây là cột thứ hai trong bảng của chúng tôi. Chúng tôi sẽ gán giá trị được tìm thấy trong cột này cho một biến có tên là
Lily
Brad
Fatima
Zining
9. Để làm điều này, chúng tôi sẽ sử dụng số chỉ mục
for letter in 'Lily':
    print(letter)
3 (trong Python, mục nhập đầu tiên trong một lần lặp nằm ở chỉ mục
for letter in 'Lily':
    print(letter)
4, mục nhập thứ hai nằm ở chỉ mục
for letter in 'Lily':
    print(letter)
3, v.v. )

Cuối cùng, chúng tôi sẽ chuyển đổi các số phạm vi thành số nguyên bằng cách sử dụng hàm

for letter in 'Lily':
    print(letter)
6 tích hợp sẵn của Python và thay thế các chuỗi ban đầu bằng các số nguyên này trong tập dữ liệu của chúng tôi

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
[['vehicle', 'range', 'price'], ['Tesla Model 3 LR', 310, '49900'], ['Hyundai Ioniq EV', 124, '30315'], ['Chevy Bolt', 238, '36620']]

Bây giờ chúng ta đã lưu các giá trị đó dưới dạng số nguyên, chúng ta cũng có thể sử dụng vòng lặp for để thực hiện một số phép tính. Ví dụ: giả sử chúng tôi muốn tìm ra phạm vi trung bình của EV trong danh sách này. Chúng tôi cần cộng các số phạm vi lại với nhau, sau đó chia chúng cho tổng số ô tô trong danh sách của chúng tôi

Một lần nữa, chúng ta có thể sử dụng vòng lặp for để chọn cột cụ thể mà chúng ta cần trong tập dữ liệu của mình. Chúng tôi sẽ bắt đầu bằng cách tạo một biến có tên là

for letter in 'Lily':
    print(letter)
7 nơi chúng tôi có thể lưu trữ tổng của các phạm vi. Sau đó, chúng tôi sẽ viết một vòng lặp for khác, bỏ qua hàng tiêu đề một lần nữa và xác định lại cột thứ hai (chỉ mục 1) làm giá trị phạm vi

Sau đó, tất cả những gì chúng ta cần làm là thêm giá trị này vào

for letter in 'Lily':
    print(letter)
7 trong vòng lặp for của mình, sau đó tính giá trị bằng cách sử dụng
for letter in 'Lily':
    print(letter)
7 chia cho số lượng ô tô sau khi vòng lặp kết thúc

(Lưu ý rằng chúng tôi sẽ tính toán số lượng ô tô bằng cách đếm độ dài của danh sách của chúng tôi, trừ đi hàng tiêu đề, trong mã bên dưới. Với một danh sách ngắn như danh sách của chúng tôi, chúng tôi cũng có thể chỉ cần chia cho 3, vì số lượng ô tô rất dễ đếm, nhưng điều đó sẽ phá vỡ phép tính của chúng tôi nếu thêm dữ liệu ô tô bổ sung vào danh sách. Vì lý do đó, tốt hơn là sử dụng

L
i
l
y
0 để tính toán độ dài của danh sách ô tô của chúng tôi trong mã để nếu các mục nhập bổ sung được thêm vào tập dữ liệu của chúng tôi trong tương lai, chúng tôi có thể chạy lại mã này và nó vẫn tạo ra câu trả lời đúng. )

total_range = 0                     # create a variable to store the total range number

for row in ev_data[1:]:             # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]               # each car's range is found in column 2 (index 1)
    total_range += ev_range         # add this number to the number stored in total_range

number_of_cars = len(ev_data[1:])   # calculate the length of our list, minus the header row

print(total_range / number_of_cars) # print the average range

Lily
Brad
Fatima
Zining
0

Các vòng lặp for của Python rất mạnh và bạn có thể lồng các lệnh phức tạp hơn vào bên trong chúng. Để chứng minh điều này, hãy lặp lại hai bước trên cho cột

L
i
l
y
1 của chúng ta, lần này trong một vòng lặp For

Lily
Brad
Fatima
Zining
1_______5_______2

Chúng ta cũng có thể lồng các phần tử khác, như câu lệnh If Else và thậm chí các vòng lặp for khác, bên trong vòng lặp for

Ví dụ: hãy tưởng tượng chúng tôi muốn tìm mọi chiếc xe có phạm vi hoạt động lớn hơn 200 dặm trong danh sách của mình. Chúng tôi có thể bắt đầu bằng cách tạo một danh sách trống mới để chứa dữ liệu ô tô tầm xa của mình. Sau đó, chúng tôi sẽ sử dụng một vòng lặp for để lặp qua

L
i
l
y
2, danh sách các danh sách chứa dữ liệu ô tô mà chúng tôi đã tạo trước đó, chỉ nối thêm một hàng ô tô vào danh sách tầm xa của chúng tôi nếu giá trị phạm vi của nó lớn hơn 200

Lily
Brad
Fatima
Zining
3_______5_______4

Tất nhiên, các thao tác này cũng sẽ đơn giản để thực hiện bằng tay với một tập dữ liệu nhỏ như vậy. Nhưng những kỹ thuật tương tự này sẽ hoạt động trên các tập dữ liệu có hàng nghìn hàng nghìn hàng, có thể giúp việc dọn dẹp, sắp xếp và phân tích các tập dữ liệu khổng lồ thành công việc rất nhanh chóng

Các kỹ thuật hữu ích khác. Phạm vi, ngắt và tiếp tục

Bạn có thể đạt được số dặm đáng ngạc nhiên từ các vòng lặp chỉ bằng cách nắm vững các kỹ thuật được mô tả ở trên, nhưng hãy tìm hiểu sâu hơn nữa và tìm hiểu một số điều khác có thể hữu ích, ngay cả khi bạn sử dụng chúng ít thường xuyên hơn trong ngữ cảnh dữ liệu

Phạm vi

Các vòng lặp for có thể được sử dụng song song với hàm

L
i
l
y
3 của Python để lặp qua từng số trong một phạm vi được chỉ định. Ví dụ

Lily
Brad
Fatima
Zining
5_______5_______6

Lưu ý rằng Python không bao gồm giá trị tối đa của một phạm vi trong số phạm vi, đó là lý do tại sao số 9 không xuất hiện ở trên. Nếu chúng tôi muốn mã này đếm từ 5 đến 9 bao gồm cả 9, chúng tôi cần thay đổi

L
i
l
y
4 thành
L
i
l
y
5

Lily
Brad
Fatima
Zining
7
Lily
Brad
Fatima
Zining
8

Nếu bạn chỉ chỉ định một số duy nhất trong hàm

L
i
l
y
3 của mình, Python sẽ coi đó là giá trị lớn nhất và gán giá trị nhỏ nhất mặc định là 0

Lily
Brad
Fatima
Zining
9
for x in our_list:
    print(x)
0

Bạn thậm chí có thể thêm đối số thứ ba vào hàm

L
i
l
y
3 để chỉ định rằng bạn muốn đếm theo gia số của một số cụ thể. Như bạn có thể thấy ở trên, giá trị mặc định là 1, nhưng nếu bạn thêm đối số thứ ba là 3, chẳng hạn, bạn có thể sử dụng
L
i
l
y
3 với vòng lặp for để đếm thành ba phần

for x in our_list:
    print(x)
1
for x in our_list:
    print(x)
2

Nghỉ

Theo mặc định, một vòng lặp Python for sẽ lặp qua mỗi lần lặp có thể có của đối tượng có thể lặp lại mà bạn đã gán cho nó. Thông thường, khi chúng ta sử dụng vòng lặp for, điều đó không sao cả, bởi vì chúng ta muốn thực hiện cùng một hành động trên từng mục trong danh sách của mình (ví dụ)

Tuy nhiên, đôi khi, chúng tôi có thể muốn dừng vòng lặp của bạn nếu một điều kiện nhất định được đáp ứng. Trong trường hợp đó, câu lệnh

L
i
l
y
9 rất hữu ích. Khi được sử dụng với câu lệnh if bên trong vòng lặp for,
L
i
l
y
9 cho phép chúng ta thoát ra khỏi vòng lặp đó trước khi nó kết thúc

Trước tiên, hãy xem một ví dụ nhanh, sử dụng danh sách các tên mà chúng tôi đã tạo trước đó có tên là

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
1)

for x in our_list:
    print(x)
3

Khi chúng tôi chạy mã này, không có gì được in. Đó là bởi vì câu lệnh

L
i
l
y
9 xuất hiện trước
ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
3 trong vòng lặp for của chúng ta. Khi Python nhìn thấy
L
i
l
y
9, nó sẽ dừng thực thi vòng lặp for và mã xuất hiện sau
L
i
l
y
9 trong vòng lặp không được chạy

Hãy thêm một câu lệnh if vào vòng lặp này, để chúng ta thoát khỏi vòng lặp khi Python có tên Zining

for x in our_list:
    print(x)
4
for x in our_list:
    print(x)
5

Ở đây, chúng ta có thể thấy cái tên Zining không được in ra. Đây là những gì đang xảy ra với mỗi lần lặp lại vòng lặp

  1. Python kiểm tra xem tên đầu tiên có phải là 'Zining' không. Không phải vậy, vì vậy nó tiếp tục thực thi mã bên dưới câu lệnh if của chúng tôi và in tên
  2. Python kiểm tra xem tên thứ hai có phải là 'Zining' không. Không phải vậy, vì vậy nó tiếp tục thực thi mã bên dưới câu lệnh if của chúng tôi và in tên thứ hai
  3. Python kiểm tra xem tên thứ ba có phải là 'Zining' không. Không phải vậy, vì vậy nó tiếp tục thực thi mã bên dưới câu lệnh if của chúng tôi và in tên thứ ba
  4. Python kiểm tra xem tên thứ tư có phải là 'Zining' không. Đúng vậy, vì vậy
    L
    i
    l
    y
    
    9 được thực thi và vòng lặp for kết thúc

Hãy quay lại mã mà chúng tôi đã viết để thu thập dữ liệu xe EV tầm xa và làm việc với một ví dụ khác. Chúng ta sẽ chèn một câu lệnh break để dừng giao diện ngay khi nó gặp chuỗi

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
7

for x in our_list:
    print(x)
6_______12_______7

Trong đoạn mã trên, chúng ta có thể thấy rằng Tesla vẫn được thêm vào

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
8, bởi vì chúng ta đã thêm nó vào danh sách đó trước câu lệnh if mà chúng ta đã sử dụng
L
i
l
y
9. Chevy Bolt đã không được thêm vào danh sách của chúng tôi, bởi vì mặc dù nó có phạm vi hoạt động hơn 200 dặm, nhưng
L
i
l
y
9 đã kết thúc vòng lặp trước khi Python đến được hàng của Chevy Bolt

(Hãy nhớ rằng, các vòng lặp for thực hiện theo thứ tự tuần tự. Nếu Bolt được liệt kê trước Tesla trong bộ dữ liệu ban đầu của chúng tôi, nó sẽ được đưa vào

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
8)

Tiếp tục

Khi chúng tôi đang lặp qua một đối tượng có thể lặp lại như danh sách, chúng tôi cũng có thể gặp phải các tình huống mà chúng tôi muốn bỏ qua một hoặc nhiều hàng cụ thể. Đối với các tình huống đơn giản như bỏ qua một hàng tiêu đề, chúng ta có thể sử dụng cắt danh sách, nhưng nếu chúng ta muốn bỏ qua các hàng dựa trên các điều kiện phức tạp hơn, điều này nhanh chóng trở nên không thực tế. Thay vào đó, chúng ta có thể sử dụng câu lệnh

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 để bỏ qua một lần lặp (“vòng lặp”) của vòng lặp for và chuyển sang vòng lặp tiếp theo

Ví dụ: khi Python nhìn thấy

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 trong khi thực hiện vòng lặp for trên một danh sách, nó sẽ dừng tại điểm đó và chuyển sang mục tiếp theo trong danh sách. Bất kỳ mã nào nằm dưới
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 sẽ không được thực thi

Hãy quay lại danh sách tên của chúng ta (

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
5) và sử dụng
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 với câu lệnh if để kết thúc vòng lặp trước khi in nếu tên là 'Brad'

for x in our_list:
    print(x)
8
for x in our_list:
    print(x)
9

Ở trên, chúng ta có thể thấy rằng tên của Brad đã bị bỏ qua và những cái tên còn lại trong danh sách của chúng ta được in theo thứ tự. Điều đó minh họa sự khác biệt giữa

L
i
l
y
9 và
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 một cách ngắn gọn

  • L
    i
    l
    y
    
    9 kết thúc hoàn toàn vòng lặp. Khi Python thực thi
    L
    i
    l
    y
    
    9, vòng lặp for kết thúc
  • for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
        ev_range = row[1]           # each car's range is found in column 2 (index 1)
        ev_range = int(ev_range)    # convert each range number from a string to an integer
        row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row
    
    print(ev_data)
    
    2 kết thúc một lần lặp cụ thể của vòng lặp và di chuyển đến mục tiếp theo trong danh sách. Khi Python thực thi
    for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
        ev_range = row[1]           # each car's range is found in column 2 (index 1)
        ev_range = int(ev_range)    # convert each range number from a string to an integer
        row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row
    
    print(ev_data)
    
    2, nó sẽ ngay lập tức chuyển sang vòng lặp tiếp theo, nhưng nó không kết thúc vòng lặp hoàn toàn

Để thực hành thêm với

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2, hãy lập danh sách các EV tầm ngắn, sử dụng
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 để thực hiện một cách tiếp cận hơi khác. Thay vì xác định các EV có phạm vi hoạt động dưới 200 dặm, chúng ta sẽ viết một vòng lặp for để thêm mọi EV vào danh sách phạm vi hoạt động ngắn của chúng ta, nhưng với câu lệnh
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 trước khi chúng ta thêm vào danh sách mới sẽ chạy nếu phạm vi hoạt động lớn hơn

Lily
Brad
Fatima
Zining
0
Lily
Brad
Fatima
Zining
1

Đó có lẽ không phải là cách hiệu quả và dễ đọc nhất để tạo danh sách ô tô tầm ngắn của chúng tôi, nhưng nó chứng minh cách thức hoạt động của

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2, vì vậy, hãy xem chính xác điều gì đang xảy ra ở đây

Trong vòng lặp đầu tiên, Python đang xem hàng Tesla. Chiếc xe đó thực sự có phạm vi EV hơn 200 dặm, vì vậy Python thấy câu lệnh if là đúng và thực thi

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 được lồng bên trong câu lệnh if đó, khiến nó ngay lập tức chuyển sang hàng tiếp theo của
L
i
l
y
2 để bắt đầu vòng lặp tiếp theo của nó

Ở vòng lặp thứ hai, Python đang nhìn vào hàng tiếp theo, đó là hàng của Hyundai. Chiếc xe đó có phạm vi hoạt động dưới 200 dặm, vì vậy Python thấy rằng câu lệnh if có điều kiện không được đáp ứng và thực thi phần còn lại của mã trong vòng lặp for, nối thêm hàng Hyundai vào

[['vehicle', 'range', 'price'], ['Tesla Model 3 LR', 310, '49900'], ['Hyundai Ioniq EV', 124, '30315'], ['Chevy Bolt', 238, '36620']]
9

Ở vòng lặp thứ ba và vòng lặp cuối cùng, Python đang xem xét hàng Chevy. Chiếc xe đó đã đi được hơn 200 dặm, điều đó có nghĩa là câu điều kiện if là đúng. Do đó, Python một lần nữa thực thi

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 lồng nhau, kết thúc vòng lặp và vì không còn hàng dữ liệu nào trong tập dữ liệu của chúng ta, kết thúc hoàn toàn vòng lặp for

Tài nguyên bổ sung

Hy vọng rằng tại thời điểm này, bạn cảm thấy thoải mái với các vòng lặp for trong Python và bạn có ý tưởng về cách chúng có thể hữu ích cho các tác vụ khoa học dữ liệu phổ biến như làm sạch dữ liệu, chuẩn bị dữ liệu và phân tích dữ liệu

Sẵn sàng cho bước tiếp theo chưa?

  • Advanced Python For Loops Tutorial – Tìm hiểu cách sử dụng vòng lặp for với NumPy, Pandas và các kỹ thuật nâng cao khác trong “phần tiếp theo” của hướng dẫn này
  • Hướng dẫn Python — Danh sách ngày càng mở rộng của chúng tôi về hướng dẫn Python dành cho khoa học dữ liệu
  • Các khóa học về khoa học dữ liệu — Đưa việc học của bạn lên một tầm cao mới với các khóa học về lập trình, khoa học dữ liệu và thống kê tương tác đầy đủ, ngay trong trình duyệt của bạn
  • Tài liệu chính thức của Python về Vòng lặp For – Tài liệu chính thức không đi sâu vào hướng dẫn này, nhưng nó xem xét các khái niệm cơ bản về Vòng lặp For, giải thích một số khái niệm liên quan như Vòng lặp While
  • Khóa học Nguyên tắc cơ bản về Python cho khoa học dữ liệu của Dataquest – Khóa học cơ bản về Python của chúng tôi cung cấp phần giới thiệu từ đầu về mã hóa bằng Python cho khoa học dữ liệu. Nó bao gồm các danh sách, vòng lặp, v.v. và bạn có thể viết mã lặp lại ngay từ trong trình duyệt của mình
  • Khóa học Python trung cấp cho khoa học dữ liệu của Dataquest – Khi bạn cảm thấy mình đã thành thạo For Loops và các khái niệm Python cốt lõi khác, đây là một khóa học tương tác khác sẽ giúp bạn nâng kỹ năng Python của mình lên một tầm cao mới
  • Tập dữ liệu miễn phí để thực hành – Tự mình thực hành các vòng lặp bằng cách lấy một tập dữ liệu miễn phí từ một trong những nguồn này và áp dụng các kỹ năng mới của bạn vào các tập dữ liệu lớn, trong thế giới thực. Các bộ dữ liệu trong phần đầu tiên (để trực quan hóa dữ liệu) sẽ hoạt động đặc biệt tốt cho các dự án thực hành vì chúng đã tương đối rõ ràng

Chúc may mắn và quay vòng vui vẻ

Hướng dẫn này có hữu ích không?

Chọn con đường của bạn để tiếp tục học các kỹ năng dữ liệu có giá trị

Làm cách nào để tạo vòng lặp bảng trong python?

Làm cách nào để tạo vòng lặp bảng trong python?

Hướng dẫn Python

Thực hành các kỹ năng lập trình Python của bạn khi bạn làm việc với các hướng dẫn miễn phí của chúng tôi

Các khóa học khoa học dữ liệu

Cam kết học tập với các khóa học khoa học dữ liệu tương tác, trong trình duyệt của bạn bằng Python, R, SQL, v.v.

người mới bắt đầu phá vỡ tiếp tục ô tô điệnev datafor loopfor loop hướng dẫn python Hướng dẫn

Giới thiệu về tác giả

Charlie Custer

Charlie là sinh viên ngành khoa học dữ liệu và cũng là nhà tiếp thị nội dung tại Dataquest. Trong thời gian rảnh rỗi, anh ấy học đi xe đạp leo núi và làm video về nó

Làm cách nào để tạo bảng cửu chương bằng vòng lặp for trong Python?

Tạo bảng cửu chương .
bắt đầu chương trình
Nhận đầu vào số nguyên từ người dùng
Tiếp theo, chúng ta sẽ xác định một phạm vi hoặc một điều kiện. Phạm vi sẽ được sử dụng trong vòng lặp for và điều kiện sẽ được sử dụng trong vòng lặp while
Cuối cùng, mã sẽ kiểm tra mặt hàng hoặc tình trạng của chúng tôi

Làm cách nào để lưu trữ dữ liệu trong vòng lặp Python?

Giải pháp được cung cấp thực hiện như sau. .
tạo một danh sách trống gọi là my_list
mở vòng lặp for với biến được khai báo "xin chào" trong dấu ngoặc kép
sử dụng từ khóa char làm biến vòng lặp. .
sử dụng thuộc tính append được tích hợp trong tất cả danh sách Python để thêm char vào cuối danh sách
khi vòng lặp kết thúc, danh sách cuối cùng được in