Python具有多种数据处理功能。我们有一个场景,在该场景中,我们给出了一个列表,其中包含一些元素,这些元素是一对数字作为元组。在本文中,我们将看到如何从作为元组的列表元素中提取唯一数字。
我们可以使用正则表达式模块及其称为sub的函数。它用于替换匹配正则表达式而不是完全匹配的字符串。因此,我们设计了一个正则表达式,将元组转换为普通字符串,然后应用set函数获得唯一数字。
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)
输出结果
运行上面的代码给我们以下结果-
Given list : [(21, 3), (13, 4), (15, 7), (8, 11)] List of digits: [1, 3, 2, 5, 4, 7, 8])
itertools模块提供了链方法,我们可以使用该方法从列表中获取元素。然后创建一个空集,并继续将元素逐个添加到该集。
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)
输出结果
运行上面的代码给我们以下结果-
Given list : [(21, 3), (13, 4), (15, 7), (8, 11)] set of digits: ['1', '3', '2', '5', '4', '7', '8'])