In mọi 2 phần tử của danh sách Python

Trên trang này. vì. trong danh sách, chuỗi, từ điển. mệnh lệnh. item[], range[], enumerate[], break, lồng nhau cho các vòng lặp

Vòng lặp for a List Như đã đề cập ngắn gọn trong Hướng dẫn 14, lệnh for. trong vòng lặp là thích ứng. bạn có thể sử dụng nó với bất kỳ loại trình tự nào [danh sách, chuỗi, bộ dữ liệu] cộng với từ điển. Việc sử dụng nguyên mẫu nhất của for. trong vòng lặp là trên một danh sách. Dưới đây, nó được sử dụng để cộng các số trong danh sách

>>> total = 0
>>> for n in [5.99, 12.99, 20.99, 129.99]: 
        total += n
        print['Total is now', total]

Total is now 5.99
Total is now 18.98
Total is now 39.97
Total is now 169.96		
>>> total  
169.96 

cho các vòng lặp trên một chuỗi

Khi được sử dụng trên một chuỗi, vòng lặp phải đi qua mọi thứ. Chà, một chuỗi là một dãy các ký tự, vì vậy việc lặp được thực hiện trên mỗi ký tự

>>> for x in 'school': 
        print[x]  
	  
s
c
h
o
o
l 
>>> 

cho các vòng lặp qua từ điển

Đương nhiên, chúng tôi cũng muốn có thể lặp lại một từ điển. Khi nào. in được sử dụng trên một từ điển, việc lặp được thực hiện trên các khóa của nó chứ không phải trên các giá trị hoặc khóa. cặp giá trị. Tất nhiên, các giá trị có thể truy xuất được thông qua các phím. Do đó, việc in cả khóa và giá trị trông giống như. Một cách khác là hướng dẫn rõ ràng vòng lặp for để lặp qua khóa. cặp giá trị. Các. items[] trên từ điển tạo ra một danh sách giả gồm các bộ [khóa, giá trị]. Sau đó, vòng lặp for có thể lặp qua danh sách này và biến bị ràng buộc cũng phải là loại tuple. Lưu ý rằng phép lặp không theo thứ tự cụ thể, mặc dù nó vẫn nhất quán. Đó là bởi vì từ điển vốn đã vô trật tự. Nếu bạn muốn xem qua từ điển theo một thứ tự cụ thể [chẳng hạn theo thứ tự bảng chữ cái hoặc số], bạn sẽ phải sắp xếp. Xem Sắp xếp để biết chi tiết

Lập chỉ mục Với chức năng phạm vi []

range[] là một hàm thường được sử dụng với vòng lặp for. phạm vi [x, y] tạo một đối tượng giống như danh sách bắt đầu bằng số nguyên x và kết thúc TRƯỚC y. Điểm bắt đầu x có thể được bỏ qua, trong trường hợp đó danh sách bắt đầu bằng 0. Trong một phạm vi môi trường vòng lặp[] hoạt động như mong đợi. Tuy nhiên, trong môi trường không lặp lại, bạn sẽ cần cắm giá trị trả về của hàm range[] vào list[] để xem nó dưới dạng danh sách. Lý do tại sao phạm vi [] thường được sử dụng với vòng lặp for là như sau. Trong ví dụ 'chim cánh cụt' ở trên, nếu bạn cũng muốn in ra chỉ mục của từng ký tự thì sao? . phạm vi [] giải quyết điều này. Đầu tiên, range[] cùng với len['penguin'] tạo ra một danh sách các chỉ mục cho từ

>>> len['penguin']
7 
>>> list[range[len['penguin']]]
[0, 1, 2, 3, 4, 5, 6] 

Giờ đây, bạn có thể duyệt qua danh sách các chỉ mục này và thật dễ dàng để truy cập vào ký tự khi bạn có chỉ mục của nó

>>> for i in range[len['penguin']]: 
        print[i, 'penguin'[i]] 
	  
0 p
1 e
2 n
3 g
4 u
5 i
6 n 

Chỉ mục tham chiếu với hàm enumerate[]

enumerate[] là một hàm hữu ích khác thường được sử dụng cùng với vòng lặp for. Nó nhận một đối số kiểu trình tự, nghĩa là cả chuỗi và danh sách, đồng thời trả về một danh sách giả gồm các cặp [chỉ mục, phần tử]. Trong môi trường lặp, liệt kê [] hoạt động minh bạch. Tuy nhiên, trong môi trường không lặp lại, bạn sẽ cần cắm giá trị trả về của hàm vào list[] để xem nó dưới dạng danh sách. giống như. items[] phương thức từ điển cho phép chúng tôi truy cập một khóa và giá trị của nó cùng nhau, điều này mang lại cho chúng tôi một cách thuận tiện để truy cập một phần tử chuỗi và chỉ mục của nó song song. Bạn đạt được điều này bằng cách để vòng lặp for tham chiếu trực tiếp cặp [chỉ mục, phần tử], như [i, e] trong ví dụ bên dưới.

Thoát khỏi vòng lặp sớm với thời gian nghỉ

Đôi khi, bạn chỉ muốn tiếp tục lặp cho đến khi đáp ứng một điều kiện nhất định. Từ khóa ngắt Python cho phép bạn làm điều đó. Giả sử, đối với một từ nhất định, bạn chỉ muốn in ra các ký tự "phụ âm" đầu từ. Bạn đạt được nó bằng cách thoát ra khỏi vòng lặp khi gặp ký tự "nguyên âm" đầu tiên. Ở đây, khi x bị ràng buộc với 'o', câu lệnh ngắt thực thi và bạn thoát khỏi vòng lặp trước khi hàm print[] chạy. Tuy nhiên, nếu điều kiện ngắt được đặt ở dưới cùng, 'o' vẫn sẽ in trước khi vòng lặp kết thúc

>>> for x in 'school': 
        print[x]  
        if x in 'aeiou': break  

s
c
h
o 
>>> 


Lồng nhau cho các vòng lặp

Nếu bạn nghĩ rằng một vòng lặp for đơn giản thì dễ dàng, thì các vòng lặp for lồng nhau có thể hơi khó để bạn hiểu. Dưới đây, vòng lặp bên trong lặp lại 4 lần bên trong vòng lặp khác, vòng lặp này lặp lại 4 lần

>>> for x in 'abcd': 
        for y in 'abcd': 
            print[x, y] 
        print['----']	
		
a a
a b
a c
a d
----
b a
b b
b c
b d
----
c a
c b
c c
c d
----
d a
d b
d c
d d
---- 
>>> 

Tại sao dừng lại ở hai? . Tìm kiếm "vòng lặp lồng nhau"

Chủ Đề