用 Python 将元组列表转换成数字


Python 具有广泛的数据操作功能。我们有一个场景,其中提供了一个列表,其中元素是作为元组的对号。在本文中,我们将看到如何从列表元素(即元组)中提取唯一数字。

通过 re 和 set

我们可以使用正则表达式模块及其称为 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])

通过 chain 和 set

itertools 模块提供了 chain 方法,我们可以使用该方法来获取列表中的元素。然后创建一个空集,并将元素逐个添加到该集中。

示例

 实时演示

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

更新日期: 20-May-2020

131 次浏览

开启您的职业生涯 之路

完成课程即可获得认证

开始
广告
© . All rights reserved.