Computer >> Máy Tính >  >> Lập trình >> Python

Chuyển đổi danh sách các bộ giá trị thành các chữ số trong Python

Python có nhiều khả năng thao tác dữ liệu. Chúng ta có một kịch bản trong đó chúng ta được đưa ra một danh sách có các phần tử là các cặp số dưới dạng các bộ giá trị. Trong bài viết này, chúng ta sẽ xem cách trích xuất các chữ số duy nhất từ ​​các phần tử của danh sách là các bộ giá trị.

Với lại và đặt

Chúng ta có thể sử dụng mô-đun biểu thức chính quy và chức năng của nó được gọi là sub. Nó được sử dụng để thay thế một chuỗi khớp với một biểu thức chính quy thay vì khớp hoàn hảo. Vì vậy, chúng tôi thiết kế một biểu thức chính quy để chuyển đổi các bộ giá trị thành các chuỗi thông thường và sau đó áp dụng hàm set để nhận các chữ số duy nhất.

Ví dụ

import re
listA = [(21, 3), (13, 4), (15, 7),(8,11)]
# Given list
print("Given list : \n", listA)
temp = re.sub(r'[\[\]\(\), ]', '', str(listA))
# Using set
res = [int(i) for i in set(temp)]
# Result
print("List of digits: \n",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với chuỗi và bộ

Mô-đun itertools cung cấp phương thức chuỗi mà chúng ta có thể sử dụng để lấy các phần tử từ danh sách. Sau đó, tạo một tập hợp trống và tiếp tục thêm từng phần tử vào tập hợp đó.

Ví dụ

from itertools import chain
listA = [(21, 3), (13, 4), (15, 7),(8,11)]
# Given list
print("Given list : \n", listA)
temp = map(lambda x: str(x), chain.from_iterable(listA))
# Using set and add
res = set()
for i in temp:
   for elem in i:
      res.add(elem)
# Result
print("set of digits: \n",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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