【Python】求一个数组中的奇数的立方的和

问题

给出一个数字的数组,找出其中的奇数,将他们各自的立方和相加,返回结果

思路

  • 数组
  • 循环
  • 判断
  • 求和

解决方法

sum求和,内部迭代判断奇偶

def cube_odd(arr):
    try:
        return sum([i ** 3 for i in arr if i % 2 != 0])
    except TypeError:
        return None

sum求和,type判断其中是不是有不是数字的元素

def cube_odd(arr):
    return sum( n**3 for n in arr if n % 2 ) if all(type(n) == int for n in arr) else None

lambda表达式封装判断过程

def cube_odd(arr):
    if list(filter(lambda x: type(x) == str, arr)):
        return None
    else:
        pass

    arrOddCubed = []

    for i in range(0, len(list(filter(lambda x: x % 2 != 0, arr)))):
        arrOddCubed.append(list(filter(lambda x: x % 2 != 0, arr))[i] ** 3)
    return sum(arrOddCubed)
时间: 2025-01-26 16:21:05

【Python】求一个数组中的奇数的立方的和的相关文章

任意元素和-求一个数组中选出任意个数元素相加之和,求大神指教

问题描述 求一个数组中选出任意个数元素相加之和,求大神指教 求一个数组中选出任意个数元素相加之和,求大神指教 比如打印出arry[8]中,任意两个数相加的和,任意三个数相加的和,直到任意八个数相加的和. 求大神指教. 解决方案 不知道你用的什么语言 如果C#,参考我写的http://bbs.csdn.net/topics/390550326 这个问题其实就是求M选N,其中M=8,N循环1-8 然后得到每个组合再求和. 解决方案二: 不知道你使用的是什么语言,不过思路是这样的,你的要求是不是随机数

在O(n)时间复杂度O(1)空间复杂度求一个数组中出现多次和未出现的数字

问题描述 在O(n)时间复杂度O(1)空间复杂度求一个数组中出现多次和未出现的数字 爱奇艺笔试题: 原题是:已知一个数组A[],大小为N,其中每个数都为1-N,请求出该数组中未出现的数字和出现多次的数字. 要求是时间复杂度为O(N),空间复杂度为O(1) 这道题的关键点就在于空间复杂度为O(1),本来想到的2-bitmap因为这点也不能实现了. 提示是:要善于利用%操作符 void appears(int r[], int n) { int i; for (i = 0; i < n; ++i)

微软面试题解析:求一个矩阵中最大的二维矩阵(元素和最大)

题目:求一个矩阵中最大的二维矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是: 4 5 5 3 要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码 分析: 直接遍历二维数组,求出最大的二维数组就OK了 实现如下: #include<iostream> using namespace std; int max_matrix(int (*array)[5], int maxx, int maxy, int& posi, int

求一个字符串中连续出现次数最多的子串

解题思路 例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab.两个题目的解法有些类似,都用到了后缀数组这个数据结构.求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的字符串为: abababc bababc ababc babc abc bc c 可以看出第一个后缀数组和第三个后缀数组的起始都为ab,第5个后缀数组也为ab.可以看出规律来,一个字符串s,如果第一次出现

c语言 数组-请教如何用c语言去除一个数组中所有值为零的元素,而且这些零元素中有连续排列的?

问题描述 请教如何用c语言去除一个数组中所有值为零的元素,而且这些零元素中有连续排列的? 能否给一个示例程序?感激不尽! 比如以下这个数组中有连续的0元素,如何去除所有的零元素? double a[64]={4.63866e+020,1.456e+027,-7.67487e+017,9.86481e+016,0,0,-3.1101e+014,-9.38282e+010, 1.456e+027,4.60249e+033,-2.3969e+024,3.36857e+023,0,0,-9.64264e

ios-添加数组的dictionary到另一个数组中

问题描述 添加数组的dictionary到另一个数组中 如题,添加dictionary数组到另一个数组中,这样我可以在一个数组中有两个dictionary. 我写的代码: [arrayOne arrayByAddingObjectsFromArray:arrayTwo]; 但是报错: -[__NSDictionaryM arrayByAddingObjectsFromArray:]: unrecognized selector sent to instance 0x75ba1a0 解决方案 ar

求一个java中正则表达式,匹配所有标点符号,但除去‘-’和‘_’的

问题描述 求一个java中正则表达式,匹配所有标点符号,但除去'-'和'_'的 解决方案 可以使用正则表达式:(?=\pP)[^-_]测试:String ss = "测试test.df/:'-_";System.out.println(ss.replaceAll("(?=\pP)[^-_]", ""));输出:测试testdf-_解释:(1)前面部分(?=\pP)是个顺序环视正则表达式,只匹配位置不占用字符,匹配的位置是一个标点符号.(2)匹配到

java读文件后的数据怎么写到一个数组中 数据格式如下

问题描述 java读文件后的数据怎么写到一个数组中 数据格式如下 解决方案 简单的写了一下,希望对你有帮助: public class Test { // 数组列数 private static final int COLUMN_COUNT = 3; public static void main(String[] args) { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new F

根据一个数组中重复的元素,取出对应数组中元素

问题描述 近来遇到了点问题,请教大家下,希望给个答案,谢谢.需求(根据一个数组中重复的元素,取出对应数组中元素):有两个对应的数组:A={1,2,3,4,5},A1={a,b,a,b,c}根据数组A1中的重复原素来取出数组A中对应的元素,并且累加成字符串:1,3根据数组A1中的重复原素来取出数组A中对应的元素,并且累加成字符串:2,4根据数组A1中的不重复的元素取出数组A中对应的元素,并且累加成字符串:2,5以此类推.谢谢. 解决方案 解决方案二:首先两个数组长度相同那么索引必然也一样你只需要知