Đầu tiên, một sự điều chỉnh cho điều kiện
if x == 0
if y == 0
if z == 0
5:Bạn cần nói:
if x == 0 or y == 0 or z == 0:
Lý do là "hoặc" chia điều kiện thành các phần logic riêng biệt. Cách viết tuyên bố ban đầu của bạn, những phần đó là:
x
y
z == 0 // or 1, 2, 3 depending on the if statement
Phần cuối cùng là tốt --- kiểm tra xem Z == 0 chẳng hạn --- nhưng hai phần đầu tiên chỉ nói về cơ bản
if x == 0
if y == 0
if z == 0
6 và if x == 0
if y == 0
if z == 0
7. Vì các số nguyên luôn đánh giá là if x == 0
if y == 0
if z == 0
8 trừ khi chúng là 0, điều đó có nghĩa là phần đầu tiên của tình trạng của bạn luôn là if x == 0
if y == 0
if z == 0
8 khi if x == 0 or y == 0 or z == 0
0 hoặc if x == 0 or y == 0 or z == 0
1 không bằng 0 [trong trường hợp Y luôn luôn điều kiện [vì cách if x == 0
if y == 0
if z == 0
5 hoạt động] để luôn luôn là if x == 0
if y == 0
if z == 0
8.Để tránh điều đó, bạn cần đảm bảo tất cả các phần trong tình trạng của bạn [mỗi bên của
if x == 0
if y == 0
if z == 0
5] tự mình có ý nghĩa [bạn có thể làm điều đó bằng cách giả vờ rằng bên kia của câu lệnh if x == 0
if y == 0
if z == 0
5 không tồn tại]. Đó là cách bạn có thể xác nhận liệu điều kiện if x == 0
if y == 0
if z == 0
5 của bạn có được xác định chính xác hay không.Bạn sẽ viết các câu lệnh riêng lẻ như vậy:
if x == 0
if y == 0
if z == 0
Điều đó có nghĩa là tiền phụ thuộc vào từ khóa
if x == 0
if y == 0
if z == 0
5 sẽ là:if x == 0 or y == 0 or z == 0
Thứ hai, cách giải quyết vấn đề:
Về cơ bản, bạn muốn kiểm tra xem có bất kỳ biến nào phù hợp với số nguyên nhất định không và nếu vậy, hãy gán nó một chữ cái phù hợp với ánh xạ một-một. Bạn muốn làm điều đó cho một danh sách số nguyên nhất định để đầu ra là danh sách các chữ cái. Bạn sẽ làm điều đó như thế này:
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
Tương tự, bạn có thể sử dụng danh sách hiểu để đạt được kết quả tương tự nhanh hơn:
def func[x, y, z]:
return [
letter
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]
if x == integer or y == integer or z == integer
]
Sử dụng từ khóa của "trong" để so sánh nhiều
Ảnh của Vladimir Kudinov trên unplashNếu bạn đã từng cần kiểm tra xem một biến có bằng một trong nhiều giá trị có thể không, thì bạn có thể viết một cái gì đó như thế này:
if x == 1 or x == 10 or x == 100:
pass
Chà, có một cách tốt hơn!
Hãy cùng đi qua cách sử dụng từ khóa
if x == 0 or y == 0 or z == 0
9 thay vì def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
0 để tạo lại biểu thức ở trên.Từ khóa của người Viking là gì?
Từ khóa
if x == 0 or y == 0 or z == 0
9 có thể được sử dụng để tìm kiếm thông qua một chuỗi và sẽ trả về if x == 0
if y == 0
if z == 0
8 hoặc def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
3 tùy thuộc vào việc tìm thấy toán hạng bên trái được tìm thấy.Dưới đây, một ví dụ đơn giản, kiểm tra chữ cái
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
4 trong một chuỗi:result = 'e' in 'The'
print[result] # True
Vì từ khóa
if x == 0 or y == 0 or z == 0
9 có thể được sử dụng với bất kỳ chuỗi nào, chúng tôi đặt tất cả các giá trị mà chúng tôi so sánh với biến của chúng tôi thành một chuỗi duy nhất. Câu hỏi là bây giờ, loại dữ liệu nào là tốt nhất?Phản hồi ban đầu có thể là sử dụng danh sách:
if x in [1,10,100]:
pass
Điều này hoạt động tốt, mặc dù chúng ta có thể tạo ra hiệu suất tốt hơn bằng cách sử dụng một bộ hoặc thậm chí là một bộ:
# tuple example
if x in [1,10,100]:
pass# set example
if x in {1,10,100}:
pass
Sử dụng từ khóa
if x == 0 or y == 0 or z == 0
9 không chỉ ít cú pháp hơn để loại ban đầu, nó còn dễ đọc và bảo trì hơn. Hãy thoải mái tạo bộ tuple của bạn trên một dòng riêng biệt và sử dụng nó trong câu lệnh def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
7, để giữ cho mã của bạn dễ đọc hơn.x
y
z == 0 // or 1, 2, 3 depending on the if statement
0Hãy nhớ rằng, kỹ thuật này chỉ phù hợp để so sánh bình đẳng. Tuy nhiên, bạn có thể đảo ngược biểu thức để kiểm tra hiệu quả cho bất bình đẳng:
x
y
z == 0 // or 1, 2, 3 depending on the if statement
1Khi đơn giản trở nên hống hách, hãy tìm cách viết mã ngắn gọn hơn, dễ đọc và có thể bảo trì.
Tôi hy vọng điều này là hữu ích, chia sẻ suy nghĩ và ý kiến của bạn dưới đây!
Tl; dr: phiên bản
Để kiểm tra xem một biến là một trong nhiều giá trị, hãy sử dụng toán tử
if x == 0 or y == 0 or z == 0
9:x
y
z == 0 // or 1, 2, 3 depending on the if statement
2Để kiểm tra xem một trong nhiều biến là một trong nhiều giá trị, hãy sử dụng danh sách hiểu và hàm
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
9:x
y
z == 0 // or 1, 2, 3 depending on the if statement
3Kiểm tra nhiều biến so với một giá trị duy nhất và ngược lại
Trong Python, nếu bạn muốn xem liệu một biến có phải là một trong nhiều giá trị có thể hay không, bạn có thể sử dụng toán tử
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
0 như thế này:x
y
z == 0 // or 1, 2, 3 depending on the if statement
4Python có cú pháp ngắn gọn hơn sử dụng toán tử
if x == 0 or y == 0 or z == 0
9 và nhiều giá trị được đóng gói trong một bộ tuple:x
y
z == 0 // or 1, 2, 3 depending on the if statement
2Toán tử
if x == 0 or y == 0 or z == 0
9 thực sự kiểm tra xem giá trị trong def func[x, y, z]:
return [
letter
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]
if x == integer or y == integer or z == integer
]
3 có ở bên phải của toán tử if x == 0 or y == 0 or z == 0
9 không. Mã này dễ đọc hơn và trong hầu hết các trường hợp, khả năng đọc mã quan trọng hơn hiệu suất. Nhưng sử dụng if x == 0 or y == 0 or z == 0
9 không hoạt động nhanh hơn một chút so với loạt các toán tử def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
0. Chúng ta có thể sử dụng các mô-đun def func[x, y, z]:
return [
letter
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]
if x == integer or y == integer or z == integer
]
7 tích hợp của Python để xem có bao nhiêu giây chạy mã này mười triệu lần:x
y
z == 0 // or 1, 2, 3 depending on the if statement
6Nếu bạn có trường hợp ngược lại và bạn có nhiều biến bạn cần kiểm tra so với một giá trị, bạn có thể trao đổi các cạnh trái và bên phải của toán tử
if x == 0 or y == 0 or z == 0
9. Vì vậy, thay vì sử dụng các toán tử def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
0 như thế này:x
y
z == 0 // or 1, 2, 3 depending on the if statement
7... Bạn có thể viết mã bằng toán tử
if x == 0 or y == 0 or z == 0
9 như thế này:x
y
z == 0 // or 1, 2, 3 depending on the if statement
8Kiểm tra nhiều biến so với nhiều giá trị
Nếu bạn có nhiều biến và bạn muốn xem liệu bất kỳ biến nào trong số này có khớp với một trong một số giá trị hay không, bạn có thể sử dụng danh sách hiểu và hàm
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
9 tích hợp. Chúng ta hãy dành một chút thời gian để tìm hiểu về hai khái niệm này trước tiên.Hàm
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
9 có một danh sách hoặc tuple [hoặc bất kỳ giá trị có thể lặp lại nào khác] và trả về if x == 0
if y == 0
if z == 0
8 nếu bất kỳ giá trị nào trong danh sách đó là if x == 0
if y == 0
if z == 0
8. Nếu danh sách chỉ có giá trị def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
3 hoặc trống, nó sẽ trả về def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
3:x
y
z == 0 // or 1, 2, 3 depending on the if statement
9Ngoài ra còn có hàm
if x == 1 or x == 10 or x == 100:
pass
7 tích hợp trả về if x == 0
if y == 0
if z == 0
8 nếu danh sách chỉ chứa các giá trị if x == 0
if y == 0
if z == 0
8 hoặc là một danh sách trống. Nếu không, if x == 1 or x == 10 or x == 100:
pass
7 trả về def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
3.Danh sách toàn diện là một cú pháp Python ngắn để tạo các giá trị danh sách dựa trên danh sách hoặc tuple khác [hoặc bất kỳ giá trị nào khác có thể lặp lại].
Thông thường bạn sẽ sử dụng vòng lặp
result = 'e' in 'The'
print[result] # True
2 để tạo danh sách mới dựa trên các giá trị của danh sách khác. Ví dụ: tôi đang tạo một danh sách có tên result = 'e' in 'The'
print[result] # True
3 có chứa các số nguyên trong danh sách result = 'e' in 'The'
print[result] # True
4, nhưng nhân với result = 'e' in 'The'
print[result] # True
5:if x == 0
if y == 0
if z == 0
0Một cách ngắn gọn hơn để viết mã này bằng Python là với sự hiểu biết danh sách. Lưu ý sự tương đồng giữa hiểu biết danh sách một dòng và mã vòng lặp
result = 'e' in 'The'
print[result] # True
2 đa dòng:if x == 0
if y == 0
if z == 0
1Để kiểm tra xem bất kỳ một trong nhiều biến có chứa bất kỳ một trong nhiều giá trị hay không, chúng tôi có thể sử dụng toàn bộ danh sách và toán tử
if x == 0 or y == 0 or z == 0
9 để tạo danh sách các giá trị Boolean if x == 0
if y == 0
if z == 0
8 và def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
3. Danh sách các booleans được tạo bởi danh sách hiểu dựa trên nếu giá trị của các biến nằm trong bộ thuật của các giá trị:if x == 0
if y == 0
if z == 0
2Chúng tôi có thể chuyển danh sách Booleans này cho hàm
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
9 và xác định xem bất kỳ biến nào có khớp với bất kỳ giá trị nào không:if x == 0
if y == 0
if z == 0
3Đặt nhiều mã này vào một dòng kéo dài các giới hạn của khả năng đọc mã, nhưng nó ngắn gọn hơn là không sử dụng toàn bộ danh sách và
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
9. Không có chúng, bạn phải sử dụng các vòng lặp result = 'e' in 'The'
print[result] # True
2 lồng nhau và rất nhiều dòng mã mà nó không nhất thiếtif x == 0
if y == 0
if z == 0
4Đó là rất nhiều mã để thực hiện một nhiệm vụ đơn giản. Việc hiểu danh sách và cách tiếp cận
def func[x, y, z]:
result = []
for integer, letter in zip[[0, 1, 2, 3], ['c', 'd', 'e', 'f']]:
if x == integer or y == integer or z == integer:
result.append[letter]
return result
9 là ngắn gọn và dễ đọc hơn.