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ớn12 == 12
O/P: True12 > 8
O/P: Truez = 5
x = 4
z == x
O/P: Falsea = 'makeshift'
b = 'makeshift'
a == b
O/P: Truea = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False12 != 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:1,
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
if 3 == 4:2 và như vậy.
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
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: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.
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
if 3 == 4: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.
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
if 3 == 4: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.
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
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:
else:
out_dict.append[inp_dict['c']]
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 87
O/P: Truez = 5
x = 4
z == x
O/P: Falsea = 'makeshift'
b = 'makeshift'
a == b
O/P: Truea = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False12 != 3
O/P: True
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 MemeHã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 == 128
O/P: True12 > 8
O/P: Truez = 5
x = 4
z == x
O/P: Falsea = 'makeshift'
b = 'makeshift'
a == b
O/P: Truea = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False12 != 3
O/P: True
Sử dụng danh sách hiểu,
12 == 129
O/P: True12 > 8
O/P: Truez = 5
x = 4
z == x
O/P: Falsea = 'makeshift'
b = 'makeshift'
a == b
O/P: Truea = 'makeshift' #python is case-sensitive
b = 'Makeshift'
a == b
O/P: False12 != 3
O/P: True
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 operator0
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
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':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
print['Sam You are Blocked here']
else:
print['Welcome!!']O/P:
Enter your name: sam
Sam You are Blocked here
name = input['Enter your name: ']if name == 'sam':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
print['Sam You are Blocked here']
else:
print['Welcome!!']O/P:
Enter your name: sam
Sam You are Blocked here
name = input['Enter your name: ']if name == 'sam':0, bắt đầu với 5 và in theo cùng một cách.
print['Sam You are Blocked here']
else:
print['Welcome!!']O/P:
Enter your name: sam
Sam You are Blocked here
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 operator1
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
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 operator2
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
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 operator3
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
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':3during Giai đoạn inital, trong khi chỉ định điều kiện cuối cùng.
print['Sam You are Blocked here']
else:
print['Welcome!!']O/P:
Enter your name: sam
Sam You are Blocked here
#AND operator4
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
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 MemeMộ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 operator5
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
In mọi tên trong danh sách ngoại trừ ‘Kate,
#AND operator6
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
Mã để tạo bảng sau
#AND operator7
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
In các số giữa một phạm vi đã cho chỉ là chẵn
#AND operator8
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
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 operator9
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
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:0
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
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.