Python中的多个元组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的多个元组相关的知识,希望对你有一定的参考价值。

如果我有多个元组,如何在忽略字符串的同时计算每个元组的非素数之和,然后将它们添加到新列表中:

示例:从这些元组:

("Hi", 1, 2, 3)
()
(5, 20, "python", "!") 
(7, "java")

我会得到:[6, 0, 25]因为:

("Hi", 1, 2, 3)会给1+2+3 = 6()会给0(5, 20, "python", "!")会给5+20 = 25(7, "java")会给7这个没有保留,因为它是素数

谢谢

答案
  1. 您可以使用isinstance(n, int)检查数字是否为整数
  2. 写一个简单的素性检查函数(例如测试数字是否可以从2到其平方根的整数整除)
  3. 编写一个函数来过滤掉任何不符合上述测试的数字,并对其余数字求和
  4. 使用循环或列表推导将函数应用于元组并将它们放入列表中

所以最后你会得到这样的东西(假设你可以写一个素数检查器;我相信如果你需要更多的帮助,你可以在这个网站上有很多其他人):

def sum_nonprimes(seq):
    return sum(n for n in seq if isinstance(n, int) and not is_prime(n))

[sum_nonprimes(tup) for tup in tuple_list]

sum中的表达式是生成器表达式;它是在满足条件的序列中生成n的简明方法。如果您不喜欢这种语法,还有其他方法可以做到这一点,包括使用filter()函数或简单的for循环。

以上是关于Python中的多个元组的主要内容,如果未能解决你的问题,请参考以下文章

Python-元组

Python:用于元组的 Pandas DataFrame

python中列表和元组之间有啥区别?

Python中的zip()与*zip()函数详解

scrapy按顺序启动多个爬虫代码片段(python3)

python函数