Đôi khi trong một danh sách Python nhất định, chúng ta có thể chỉ quan tâm đến chữ số đầu tiên của mỗi phần tử trong danh sách. Trong bài viết này, chúng tôi sẽ kiểm tra xem chữ số đầu tiên của tất cả các phần tử trong danh sách có giống nhau hay không.
Với set và map
Đặt trong Python không cho phép bất kỳ giá trị trùng lặp nào trong đó. Vì vậy, chúng tôi lấy chữ số đầu tiên của mọi phần tử và đặt nó vào một tập hợp. Nếu tất cả các chữ số đều giống nhau thì độ dài của tập hợp sẽ chỉ là 1, không được phép trùng lặp.
Ví dụ
Alist = [63,652,611,60] # Given list print("Given list : ",Alist) # Using set and 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")
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [63, 652, 611, 60] All elements have same first digit
Với tất cả
Trong cách tiếp cận này, chúng tôi lấy chữ số đầu tiên của phần tử đầu tiên và so sánh nó với chữ số đầu tiên của tất cả các phần tử. Nếu tất cả chúng bằng nhau, thì chúng ta nói rằng tất cả các phần tử có cùng chữ số đầu tiên.
Ví dụ
Alist = [63,652,611,70] # Given list print("Given list : ",Alist) # Using set and map 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")
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [63, 652, 611, 70] Not all elements, have same first digit