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
这个没有保留,因为它是素数
谢谢
答案
- 您可以使用
isinstance(n, int)
检查数字是否为整数 - 写一个简单的素性检查函数(例如测试数字是否可以从2到其平方根的整数整除)
- 编写一个函数来过滤掉任何不符合上述测试的数字,并对其余数字求和
- 使用循环或列表推导将函数应用于元组并将它们放入列表中
所以最后你会得到这样的东西(假设你可以写一个素数检查器;我相信如果你需要更多的帮助,你可以在这个网站上有很多其他人):
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中的多个元组的主要内容,如果未能解决你的问题,请参考以下文章