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

Python – Trích xuất hàng chứa kiểu dữ liệu phức tạp

Khi cần trích xuất các hàng chứa kiểu dữ liệu phức tạp (list, tuple, dict, set), ta dùng isinstance() và list comprehension.

Ví dụ

my_list = [[13, 1, 35], [23, [44, 54], 85], [66], [75, (81, 2), 29, 7]]

my_result = [row for row in my_list if any(
    isinstance(element, (list, tuple, dict, set)) for element in row
)]

print("Danh sách gốc:")
print(my_list)
print("Danh sách kết quả (hàng có kiểu phức tạp):")
print(my_result)

Kết quả đầu ra

Danh sách gốc:
[[13, 1, 35], [23, [44, 54], 85], [66], [75, (81, 2), 29, 7]]
Danh sách kết quả (hàng có kiểu phức tạp):
[[23, [44, 54], 85], [75, (81, 2), 29, 7]]

Giải thích

  • Duyệt từng hàng, dùng any() kiểm tra có phần tử nào là instance của list, tuple, dict, set không.
  • Hàng 0: toàn int → loại.
  • Hàng 1: có [44, 54] (list) → giữ.
  • Hàng 2: toàn int → loại.
  • Hàng 3: có (81, 2) (tuple) → giữ.

Mở rộng: Thêm isinstance(element, (np.ndarray, pd.Series)) cho NumPy/Pandas.