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

Trích xuất chữ số duy nhất từ danh sách tuple trong Python

Python có nhiều khả năng thao tác dữ liệu. Cho danh sách có phần tử là cặp số dạng tuple. Bài viết trình bày cách trích xuất các chữ số duy nhất từ các phần tử tuple trong list.

Sử dụng re và set

Dùng module re và hàm sub() để thay thế chuỗi khớp regex. Thiết kế regex chuyển tuple thành chuỗi bình thường, sau đó dùng set() để lấy chữ số duy nhất.

Ví dụ

import re
listA = [(21, 3), (13, 4), (15, 7), (8, 11)]  # Danh sách cho trước
print("Given list : \n", listA)
temp = re.sub(r'[\[\]\(\), ]', '', str(listA))  # Sử dụng set
res = [int(i) for i in set(temp)]  # Kết quả
print("List of digits: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : [(21, 3), (13, 4), (15, 7), (8, 11)] List of digits: [1, 3, 2, 5, 4, 7, 8])

Sử dụng chain và set

itertools.chain lấy phần tử từ list. Tạo set rỗng và thêm từng phần tử vào set.

Ví dụ

from itertools import chain
listA = [(21, 3), (13, 4), (15, 7), (8, 11)]  # Danh sách cho trước
print("Given list : \n", listA)
temp = map(lambda x: str(x), chain.from_iterable(listA))
# Sử dụng set và add
res = set()
for i in temp:
    for elem in i:
        res.add(elem)
# Kết quả
print("set of digits: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : [(21, 3), (13, 4), (15, 7), (8, 11)] set of digits: ['1', '3', '2', '5', '4', '7', '8'])