Trong list Python, đôi khi chỉ quan tâm đến chữ số đầu của mỗi phần tử. Bài viết kiểm tra xem chữ số đầu của tất cả phần tử trong list có giống nhau hay không.
Sử dụng set và map
Set không cho phép trùng lặp. Lấy chữ số đầu mỗi phần tử đưa vào set. Nếu tất cả giống nhau, độ dài set = 1.
Ví dụ
Alist = [63, 652, 611, 60] # Danh sách cho trước
print("Given list : ", Alist)
# Sử dụng set và map
if len(set(x[0] for x in map(str, Alist))) == 1:
print("All elements have same first digit")
else:
print("Not all elements have same first digit")
Kết quả
Chạy đoạn mã trên cho kết quả sau:
Given list : [63, 652, 611, 60] All elements have same first digit
Sử dụng all
Lấy chữ số đầu phần tử đầu tiên so sánh với chữ số đầu tất cả phần tử. Nếu tất cả bằng nhau -> cùng chữ số đầu.
Ví dụ
Alist = [63, 652, 611, 70] # Danh sách cho trước
print("Given list : ", Alist)
# Sử dụng all
if all(str(i)[0] == str(Alist[0])[0] for i in Alist):
print("All elements have same first digit")
else:
print("Not all elements have same first digit")
Kết quả
Chạy đoạn mã trên cho kết quả sau:
Given list : [63, 652, 611, 70] Not all elements have same first digit