Flutter技术问题:如何对列表中每个元素执行数学运算并返回新列表?
对列表每个元素执行指定数学运算并返回新列表
下面以几种主流编程语言为例,实现“每个元素先与指定数值相加,再乘以最终值”的运算并返回新列表:
Python 实现
用列表推导式可以快速完成,也可以封装成可复用的函数:
# 基础用法 original_list = [1, 2, 3, 4] add_num = 5 multiply_num = 2 new_list = [(x + add_num) * multiply_num for x in original_list] print(new_list) # 输出: [12, 14, 16, 18] # 封装成函数复用 def process_list(lst, add_val, multiply_val): return [(x + add_val) * multiply_val for x in lst] # 调用示例 result = process_list([1,2,3], 5, 2)
Java 实现
方式1:Stream API(Java 8+)
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class ListMathOperation { public static void main(String[] args) { List<Integer> originalList = Arrays.asList(1, 2, 3, 4); int addNum = 5; int multiplyNum = 2; List<Integer> newList = originalList.stream() .map(x -> (x + addNum) * multiplyNum) .collect(Collectors.toList()); System.out.println(newList); // 输出: [12, 14, 16, 18] } }
方式2:普通循环遍历
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListMathOperation { public static void main(String[] args) { List<Integer> originalList = Arrays.asList(1, 2, 3, 4); int addNum = 5; int multiplyNum = 2; List<Integer> newList = new ArrayList<>(); for (Integer num : originalList) { newList.add((num + addNum) * multiplyNum); } System.out.println(newList); } }
JavaScript 实现
利用数组的map方法直接处理每个元素:
// 基础用法 const originalList = [1, 2, 3, 4]; const addNum = 5; const multiplyNum = 2; const newList = originalList.map(x => (x + addNum) * multiplyNum); console.log(newList); // 输出: [12, 14, 16, 18] // 封装成函数 function processList(lst, addVal, multiplyVal) { return lst.map(x => (x + addVal) * multiplyVal); } // 调用示例 const result = processList([1,2,3], 5, 2);
内容的提问来源于stack exchange,提问作者BadgerEatHoney
相关产品推荐
相关产品推荐

