Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – In hàng từ ma trận có cùng phần tử tại chỉ số cho trước


Khi cần in các hàng từ ma trận mà tất cả các phần tử trong hàng có cùng ký tự tại một chỉ số cho trước (so với phần tử đầu tiên của hàng), ta dùng list comprehension và all().

Ví dụ

my_list = [[7745, 6755, 87, 978], [727, 927, 845], [192, 997, 49], [98, 74, 27]]
print("Danh sách ban đầu:")
print(my_list)
my_key = 1
print("Chỉ số khóa:")
print(my_key)
my_result = [element for element in my_list if all(str(i)[my_key] == str(element[0])[my_key] for i in element)]
print("Kết quả:")
print(my_result)

Kết quả

Danh sách ban đầu: [[7745, 6755, 87, 978], [727, 927, 845], [192, 997, 49], [98, 74, 27]]
Chỉ số khóa: 1
Kết quả: [[7745, 6755, 87, 978], [192, 997, 49]]

Giải thích

  • Định nghĩa ma trận số nguyên và chỉ số khóa (ví dụ 1 – chữ số hàng chục).

  • Chuyển mỗi số thành chuỗi, lấy ký tự tại vị trí my_key.

  • So sánh với ký tự tại vị trí my_key của phần tử đầu tiên của hàng (element[0]).

  • Dùng all() đảm bảo mọi phần tử trong hàng thỏa mãn.

  • In các hàng thỏa mãn.