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

Lọc Tuple theo phần tử thứ K từ List trong Python


Khi cần lọc các tuple theo phần tử thứ K từ một list, có thể sử dụng list comprehension và toán tử in.

List có thể lưu trữ các giá trị khác kiểu (heterogeneous) (ví dụ: integer, float, string, v.v.).

Một list of tuple (danh sách các tuple) về cơ bản chứa các tuple được bao quanh bởi một list. Toán tử in kiểm tra xem dữ liệu cụ thể có mặt trong iterable/dữ liệu hay không.

List comprehension là cách viết tắt để duyệt qua danh sách và thực hiện các phép toán trên nó.

Dưới đây là ví dụ minh họa:

Ví dụ

my_list = [(1, 21), (25, 'abc', 'mnq'), (89, 45.65)]
print("Danh sách kiểm tra đã được khởi tạo")
check_list = [1, 25, 10, 21]
print("Danh sách là:")
print(my_list)

k = 1
print("Giá trị 'k' đã được khởi tạo là 1")

my_result = [elem for elem in my_list if elem[k] in check_list]

print("Các tuple đã lọc là:")
print(my_result)

Kết quả

Danh sách kiểm tra đã được khởi tạo
Danh sách là:
[(1, 21), (25, 'abc', 'mnq'), (89, 45.65)]
Giá trị 'k' đã được khởi tạo là 1
Các tuple đã lọc là:
[(1, 21)]

Giải thích

  • Định nghĩa một danh sách các tuple và hiển thị trên bảng điều khiển.
  • Định nghĩa một danh sách khác và hiển thị trên bảng điều khiển.
  • Khởi tạo giá trị k.
  • Duyệt qua các danh sách để kiểm tra xem phần tử trong danh sách thứ hai có mặt trong danh sách thứ nhất hay không.
  • Nếu có, giữ lại trong danh sách, nếu không thì loại bỏ.
  • Chuyển đổi thành list.
  • Gán phép toán cho một biến.
  • Biến này là đầu ra được hiển thị trên bảng điều khiển.