Có một cách tốt, cô đọng/tích hợp để xem liệu tất cả các giá trị trong một số không phải là số không? Ngay bây giờ tôi đang sử dụng all[]
với một chút hiểu biết danh sách, nhưng [với tôi] có vẻ như nên có một phương pháp biểu cảm hơn. Tôi muốn xem điều này là hơi tương đương với memcmp[]
trong C.
values = [0, 0, 0, 0, 0]
# Test if all items in values tuple are zero
if all[[ v == 0 for v in values ]] :
print 'indeed they are'
Tôi mong đợi một chức năng tích hợp thực hiện một cái gì đó như:
def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
Có phải chức năng đó tồn tại trong Python và tôi chỉ bị mù, hay tôi chỉ nên gắn bó với phiên bản gốc của mình?
Cập nhật
Tôi không gợi ý rằng
def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
0 là giải pháp. Đó là một ví dụ về những gì tôi nghĩ có thể có ý nghĩa hơn. Đây không phải là nơi tôi sẽ đề xuất các bản dựng mới cho Python.Theo tôi, all[]
không có ý nghĩa. Nó không thể hiện những gì "tất cả" đang kiểm tra. Bạn có thể giả định rằng all[]
có một điều đáng tin cậy, nhưng nó không thể hiện những gì chức năng đang tìm kiếm [một
def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
3 có thể kiểm tra tất cả chúng cho def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
4]. Những gì tôi đang yêu cầu là một số chức năng như def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
0 của tôi có hai tham số: một giá trị so sánh và có thể so sánh. Tôi đang hỏi liệu có một chức năng tích hợp có một cái gì đó tương tự như tôi tạo ra ____10 của tôi không.Tôi đã gọi cho tôi
def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
0 vì nền C của tôi và memcmp[]
, tên của chức năng tạo ra của tôi là không liên quan ở đây.the name of my made up function is irrelevant here. Kiểm tra xem tất cả các giá trị trong danh sách có bằng không trong Python # không
Sử dụng hàm Copied! Copied!all[]
để kiểm tra xem tất cả các giá trị trong danh sách bằng không, ví dụ:
0. Hàm my_list = [0, 0, 0]
if all[item == 0 for item in my_list]:
# 👇️ this runs
print['All elements in the list are 0']
else:
print['Not all elements in the list are 0']
# 👇️ True
print[all[item == 0 for item in my_list]]
all[]
sẽ trả về
4 nếu tất cả các giá trị trong danh sách bằng không và def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
3 nếu không.my_list = [0, 0, 0]
if all[item == 0 for item in my_list]:
# 👇️ this runs
print['All elements in the list are 0']
else:
print['Not all elements in the list are 0']
# 👇️ True
print[all[item == 0 for item in my_list]]
Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
Chúng tôi đã sử dụng một biểu thức máy phát để lặp qua danh sách.
Biểu thức của máy phát được sử dụng để thực hiện một số hoạt động cho mọi phần tử hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.
Trên mỗi lần lặp, chúng tôi kiểm tra xem giá trị hiện tại có bằng
4 không và trả về kết quả.Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
Chức năng tích hợp tất cả [] lấy một sự khác biệt như một đối số và trả về
def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
4 nếu tất cả các yếu tố trong điều đó là sự thật [hoặc điều đó là trống rỗng].Copied!
my_list = [0, 0, 0] # 👇️ True print[all[item == 0 for item in my_list]]
Nếu hàm all[]
tìm thấy giá trị khác không, nó sẽ quay lại ngắn mạch
3.Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
Lưu ý rằng hàm all[]
trả về
4 cho bất kỳ điều kiện nào nếu thông qua trong ITable là trống.def allcmp[iter, value] :
for item in iter :
if item != value :
return False
return True
Copied!
my_list = [] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
Nếu bạn xem xét một danh sách trống Một trong đó không phải tất cả các giá trị là
4, hãy kiểm tra độ dài của danh sách.Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
Copied!
my_list = [] if len[my_list] > 0 and all[item == 0 for item in my_list]: print['all elements in the list are 0'] else: # 👇️ this runs print['Not all elements in the list are 0']
Chúng tôi đã sử dụng toán tử boolean Copied! Copied!
1, vì vậy để khối my_list = [0, 0, 0]
# 👇️ True
print[all[item == 0 for item in my_list]]
2 chạy, cả hai điều kiện phải được đáp ứng.my_list = [0, 0, 0]
# 👇️ True
print[all[item == 0 for item in my_list]]
3 không có độ dài lớn hơnCopied!
my_list = [0, 0, 0] # 👇️ True print[all[item == 0 for item in my_list]]
4, do đó khốiCopied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
5 chạy.Copied!
my_list = [0, 0, 0] # 👇️ True print[all[item == 0 for item in my_list]]
Ngoài ra, bạn có thể sử dụng phương pháp
6.Copied!
my_list = [0, 0, 0] # 👇️ True print[all[item == 0 for item in my_list]]
Để kiểm tra xem tất cả các giá trị trong danh sách có bằng không:
- Sử dụng phương thức
6 để đếm các giá trịCopied!
my_list = [0, 0, 0] # 👇️ True print[all[item == 0 for item in my_list]]
4 trong danh sách.Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
- Nếu số lượng giá trị
4 bằng với độ dài của danh sách, tất cả các giá trị trong danh sách làCopied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
4.Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
Copied!
my_list = [0, 0, 0] if my_list.count[0] == len[my_list]: # 👇️ this runs print['All values in the list are equal to 0']
Phương thức
6 lấy giá trị và trả về số lần giá trị được cung cấp xuất hiện trong danh sách.Copied!
my_list = [0, 0, 0] # 👇️ True print[all[item == 0 for item in my_list]]
Copied!
my_list = [0, 0, 0] print[my_list.count[0]] # 👉️ 3
Nếu số lượng giá trị
4 trong danh sách giống như độ dài của danh sách, thì danh sách chỉ chứa các giá trịCopied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]
4.Copied!
my_list = [0, 0, 0] if all[item == 0 for item in my_list]: # 👇️ this runs print['All elements in the list are 0'] else: print['Not all elements in the list are 0'] # 👇️ True print[all[item == 0 for item in my_list]]