在Python中将元组列表转换为数字

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'])