Hướng dẫn python iterate list with condition - danh sách lặp lại python với điều kiện

Bạn phải luôn cẩn thận nếu bạn xóa các mục khỏi danh sách của mình trong khi bạn đang cố gắng lặp lại thông qua nó.

Nếu bạn không xóa thì điều này có giúp được:

>>> yourlist=list["abcdefg"]
>>> value_position_pairs=zip[yourlist,range[len[yourlist]]]
>>> value_position_pairs
[['a', 0], ['b', 1], ['c', 2], ['d', 3], ['e', 4], ['f', 5], ['g', 6]]
>>> filterfunc=lambda x:x[0] in "adg"
>>> value_position_pairs=filter[filterfunc,value_position_pairs]
>>> value_position_pairs
[['a', 0], ['d', 3], ['g', 6]]
>>> yourlist[6]
'g'

Bây giờ nếu value_poseition_pairs trống, bạn đã hoàn thành. Nếu không, bạn có thể tăng tôi từng người một để đi đến giá trị tiếp theo hoặc lặp lại thông qua các giá trị thất bại bằng cách sử dụng vị trí của chúng trong mảng.

Tín dụng: Unplash

Trong chương thứ tư này của loạt mã Python nhanh, chúng tôi sẽ hiểu và thực hiện các câu lệnh có điều kiện và vòng lặp khác nhau có sẵn trong Python. Cùng với đó, chúng tôi sẽ thấy cách sử dụng danh sách hiểu để viết mã của bạn một cách hiệu quả.fourth chapter of the Quick Code-Python series, we are going to understand and implement various Conditional and looping statements available in python. Along with that, we’ll see how to use list comprehension to write your code efficiently.

LƯU Ý: Tôi đã viết loạt mã Python nhanh theo kiểu tuyến tính để ngay cả một người mới có thể theo dõi loạt phim để hiểu được những gì Python thực sự có thể làm. Đối với những người tốt với các nguyên tắc cơ bản, bạn có thể theo dõi loạt bài để làm mới các khái niệm của bạn hoặc chọn bất kỳ chương nào trong loạt mà bạn muốn biết thêm về.Quick Code-Python series in a linear fashion so that even a newbie can follow along the series to get a grasp of what python can actually do. For folks that are good with the fundamentals, you can follow along with the series to refresh your concepts or choose any of the chapters in the series that you want to know more about.

Toán tử so sánh

Trước khi hiểu các câu lệnh có điều kiện và vòng lặp, hãy để hiểu về những gì các toán tử so sánh và logic là gì. Một toán tử so sánh có thể được định nghĩa là so sánh hai giá trị. Đầu ra sẽ đúng hoặc sai [boolean].

Các nhà khai thác so sánh cơ bản được đưa ra dưới đây,

Tín dụng: Kỹ thuật dữ liệu lớn
12 == 12
O/P: True
12 > 8
O/P: True
z = 5
x = 4
z == x
O/P: False
a = 'makeshift'
b = 'makeshift'
a == b
O/P: True
a = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False
12 != 3
O/P: True

Toán tử logic

Các toán tử logic chủ yếu được sử dụng trong các câu lệnh có điều kiện, khi thực sự thực hiện các câu lệnh hoặc khi nó sai không thực hiện chúng. Toán tử logic quan trọng nhất mà chúng tôi sẽ sử dụng trong Python là logic và, logic hoặc.

Nếu bạn quen thuộc với các cổng logic, thì nguyên tắc tương tự được áp dụng ở đây.

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1

Lưu ý rằng trong giải thích trên, bạn có thể thay thế 0 là sai và 1 là đúng. Ví dụ,

if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true
1,
if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true
2 và như vậy.

Câu điều kiện

Các câu lệnh có điều kiện là nếu, Elif và các câu lệnh khác mà chúng ta sử dụng trong Python để sử dụng chúng làm kiểm tra để xem điều kiện đã cho là đúng hay sai.

if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true
3 Điều kiện là đúng thì mã trong điều kiện IF sẽ chạy và nếu nó sai thì nó đã thắng chạy.

if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true
4 Điều kiện được đưa ra trong ELIF là đúng thì mã trong Elif sẽ chạy và nếu nó sai thì nó đã thắng chạy.

if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true
5 Khi không có điều kiện nào khác là đúng thì mã trong câu lệnh khác sẽ chạy.

if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true

Mã để chặn Sam trong khuôn viên trường đại học

name = input['Enter your name: ']if name == 'sam':
print['Sam You are Blocked here']
else:
print['Welcome!!']
O/P:
Enter your name: sam
Sam You are Blocked here

Sam có thể lừa chúng tôi bằng cách sử dụng tên của bạn mình để vào khuôn viên trường, hãy để đảm bảo điều đó không xảy ra

name = input['enter your name: ']if name == 'sam' or name == 'josh' or name == 'kate':
print['Access Denied']
else:
print['Access Granted']
O/P:
enter your name: josh
Access Denied

Mã để trả về các phần tử chỉ từ từ điển lớn hơn 25. Lưu ý rằng có nhiều cách hiệu quả hơn để làm điều này, nhưng bây giờ hãy để Lôi làm điều này với điều kiện nếu điều kiện.

inp_dict = {'a': 23, 'b': 40, 'c': 34}
out_dict = []
if inp_dict['a'] >= 25:
out_dict.append[inp_dict['a']]
if inp_dict['b'] >= 25:
out_dict.append[inp_dict['b']]

if inp_dict['c'] >= 25:
out_dict.append[inp_dict['c']]

else:
print['No Elements Found!!']

out_dict

O/P:
[40, 34]

Mã để kiểm tra xem một số được tạo ngẫu nhiên và số người dùng được nhập không

import random
random_val = random.randint[1,50]
user = int[input['enter numbers 1 to 50: ']]
if random_val == user:
print['You got it right !!']
print['random value is: ',random_val]
elif random_val > user:
print['Nope !! little higher']
print['random value is: ',random_val]
else:
print['Nope!! little lower']
print['random value is: ',random_val]
O/P:
enter numbers 1 to 50: 34
Nope!! little lower
random value is: 2

Mã để chỉ số số chữ số trong số nguyên

x = int[input['Enter a positive integer: ']]if 0  8
O/P: True
z = 5
x = 4
z == x
O/P: False
a = 'makeshift'
b = 'makeshift'
a == b
O/P: True
a = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False
12 != 3
O/P: True
7

Trông thật đơn giản !! Tôi thích sự hiểu biết danh sách vì nó cho phép tôi không viết thêm các dòng mã cho các hoạt động và tính toán danh sách đơn giản.

Tín dụng: Trình tạo Meme

Hãy cùng xem một ví dụ khác, in hình vuông của các số chẵn từ một danh sách nhất định

Mà không cần sử dụng danh sách hiểu,

12 == 12
O/P: True
12 > 8
O/P: True
z = 5
x = 4
z == x
O/P: False
a = 'makeshift'
b = 'makeshift'
a == b
O/P: True
a = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False
12 != 3
O/P: True
8

Sử dụng danh sách hiểu,

12 == 12
O/P: True
12 > 8
O/P: True
z = 5
x = 4
z == x
O/P: False
a = 'makeshift'
b = 'makeshift'
a == b
O/P: True
a = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False
12 != 3
O/P: True
9

Vòng lồng nhau

Các vòng lồng nhau chỉ đơn giản là một vòng lặp trong một vòng lặp. Chúng ta có thể sử dụng một vòng lặp lồng nhau khi chúng ta muốn lặp trong vòng chính cho một vòng lặp. Một ví dụ sẽ là in các bảng nhân.

In bảng nhân thứ 4 và 5

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
0

Hãy cùng đi qua mã trên để hiểu những gì đang diễn ra.

Đầu tiên cho vòng

name = input['Enter your name: ']if name == 'sam':
print['Sam You are Blocked here']
else:
print['Welcome!!']
O/P:
Enter your name: sam
Sam You are Blocked here
0, các vòng qua 4 và 5 [giới hạn trên-1 khi sử dụng hàm phạm vi]. Khi chúng tôi ở 4 [bắt đầu vòng lặp], chúng tôi nhập vào một vòng lặp khác
name = input['Enter your name: ']if name == 'sam':
print['Sam You are Blocked here']
else:
print['Welcome!!']
O/P:
Enter your name: sam
Sam You are Blocked here
1 vòng lặp qua 1 đến 10. Sau đó, chúng tôi in các bảng bằng hàm in. Sau khi hoàn thành bảng thứ 4, tức là in từ 1 đến 10, chúng tôi quay trở lại vòng
name = input['Enter your name: ']if name == 'sam':
print['Sam You are Blocked here']
else:
print['Welcome!!']
O/P:
Enter your name: sam
Sam You are Blocked here
0, bắt đầu với 5 và in theo cùng một cách.

Phạm vi

Chúng tôi sử dụng hàm phạm vi trong một vòng lặp cho vòng lặp, để chỉ định số lặp lại trong quá trình thực hiện một vòng lặp.

Các chỉ mục trong phạm vi bắt đầu với 0 và kết thúc với [N-1].

Ví dụ: Phạm vi [0,11] có nghĩa là lặp lại đến 0 đến 10

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
1

Chúng tôi thậm chí có thể sử dụng một số bước trong phạm vi, để chỉ định mức tăng hoặc giảm phạm vi trong khi lặp lại vòng lặp

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
2

Trong khi lặp lại

Một vòng lặp trong khi có thể được sử dụng để thực hiện một tập hợp các câu lệnh miễn là một điều kiện nhất định vẫn đúng. Hãy nhớ chỉ định điều kiện cuối cùng, nếu không chương trình sẽ chạy vô hạn và bạn sẽ phải làm gián đoạn và khởi động lại kernel một lần nữa. Tin tôi đi, nó đã xảy ra với tôi nhiều lần, tốt nhất để tránh vấn đề đó.

Tín dụng: Ah thấy nó

Tạo một vòng lặp đơn giản để in các số

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
3

Chúng tôi sẽ thấy cách chạy một vòng lặp giữ cho nó

name = input['Enter your name: ']if name == 'sam':
print['Sam You are Blocked here']
else:
print['Welcome!!']
O/P:
Enter your name: sam
Sam You are Blocked here
3during Giai đoạn inital, trong khi chỉ định điều kiện cuối cùng.

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
4

Hãy nhớ rằng việc chèn một dấu hai chấm sau một câu lệnh có điều kiện hoặc vòng lặp là bắt buộc để IDE sẽ tự động thụt lại khối mã tiếp theo.

Tín dụng: Trình tạo Meme

Một số ví dụ thực tế sử dụng các khái niệm trên

In các số từ chuỗi đầu vào bằng cách sử dụng danh sách hiểu

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
5

In mọi tên trong danh sách ngoại trừ ‘Kate,

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
6

Mã để tạo bảng sau

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
7

In các số giữa một phạm vi đã cho chỉ là chẵn

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
8

Mã để tạo mật khẩu cho người dùng sử dụng các chữ cái ngẫu nhiên, dấu chấm câu, số tùy thuộc vào độ dài mà người dùng cung cấp

#AND operator
1 and 0 = 0
1 and 1 = 1
0 and 1 = 0
0 and 0 = 0
#OR operator
1 or 1 = 1
1 or 0 = 1
0 or 0 = 0
0 or 1 = 1
9

Sắp xếp các từ trong một câu từ câu trả lời được đưa ra bởi người dùng

if 3 == 4:
print['First statement is true']
elif 2 == 4:
print['Second statement is true']
else:
print['Last statement is true']
O/P:
Last statement is true
0

Hy vọng bạn đã hiểu cách thực hiện các câu lệnh lặp, có điều kiện và sử dụng danh sách hiểu để giảm kích thước mã của bạn một cách đáng kể.

Lưu ý: Nếu bạn đang đọc blog trong điện thoại thông minh, các mã có thể không thể hiện được với bạn. Nếu bạn có thể hiểu được mã đúng cách, hãy đọc blog trong PC/Mac

Chỉ cần đọc blog là đủ. Chạy mã bằng cách sao chép lại trên IDE. Thay đổi các biến cho chính bạn và xem đầu ra thay đổi như thế nào. Cuối cùng, hãy cố gắng viết mã của riêng bạn.

Kiểm tra chương trước của loạt Code-Python nhanh.Quick Code-Python series.

Chúng ta có thể viết cho vòng lặp trong điều kiện không?

Bạn có thể đặt một vòng lặp bên trong một câu lệnh IF bằng một kỹ thuật gọi là luồng điều khiển lồng nhau. Đây là quá trình đặt một tuyên bố kiểm soát bên trong một câu lệnh kiểm soát khác để thực hiện một hành động. Bạn có thể đặt một câu lệnh IF bên trong cho các vòng lặp.. This is the process of putting a control statement inside of another control statement to execute an action. You can put an if statements inside for loops.

Làm thế nào để bạn lặp lại thông qua một danh sách trong Python trong khi vòng lặp?

Bạn có thể lặp qua các mục danh sách bằng cách sử dụng vòng lặp thời gian. Sử dụng hàm Len [] để xác định độ dài của danh sách, sau đó bắt đầu ở 0 và lặp theo cách của bạn thông qua các mục danh sách bằng cách tham khảo các chỉ mục của chúng. Hãy nhớ tăng chỉ số lên 1 sau mỗi lần lặp.Use the len[] function to determine the length of the list, then start at 0 and loop your way through the list items by referring to their indexes. Remember to increase the index by 1 after each iteration.

Làm thế nào để bạn lặp lại thông qua một danh sách mà không có một vòng lặp trong Python?

6. Phương thức python liệt kê [] để lặp lại danh sách python.Chức năng Python Enumerate [] có thể được sử dụng để lặp lại danh sách theo cách tối ưu hóa.Hàm liệt kê [] thêm một bộ đếm vào danh sách hoặc bất kỳ điều gì khác có thể lặp lại và trả về nó dưới dạng một đối tượng được liệt kê theo hàm.Python enumerate[] method to iterate a Python list. Python enumerate[] function can be used to iterate the list in an optimized manner. The enumerate[] function adds a counter to the list or any other iterable and returns it as an enumerate object by the function.

Chúng ta có thể lặp lại danh sách trong Python không?

Chúng ta có thể lặp lại thông qua một danh sách bằng cách sử dụng hàm phạm vi [] và chuyển độ dài của danh sách.Nó sẽ trả về chỉ mục từ 0 đến hết danh sách.. It will return the index from 0 till the end of the list.

Bài Viết Liên Quan

Chủ Đề