python - 如何使用列表推导对 Python 3 中的矩阵执行数学运算?
问题描述
我必须创建一个函数,该函数将矩阵作为参数,并使用列表推导将列表中的每个元素除以 2(如果它是偶数)。因此,如果传递给函数的参数是 m = [[5, 4], [2, 3], [6, 7]] 函数将返回矩阵 m2 = [[5, 2], [1, 3] , [3, 7]]
我尝试了以下方法:
m = [[5, 4], [2, 3], [6, 7]]
result = [num / 2 for num in m if num % 2 == 0]
print (result)
但我收到此错误:
line 2, in <listcomp>
result = [num / 2 for num in m if num % 2 == 0]
TypeError: unsupported operand type(s) for %: 'list' and 'int'
解决方案
这就是您要寻找的:
def divide_evens_elems_list(lst):
for i in range(len(lst)):
for j in range(len(lst[i])):
if lst[i][j]%2==0:
lst[i][j]//=2
return lst
m = [[5, 4], [2, 3], [6, 7]]
print(divide_evens_elems_list(m))
推荐阅读
- python - 给定一个 SciPy 离散随机变量分布,我如何将一个数字四舍五入到该分布中最接近的值?
- g++ - 使用 LLVM 库构建 C++ 程序的命令行
- javascript - React Firebase 实现类似功能
- javascript - 尝试使用 Fetch 和 FormData 在 JavaScript 中重新创建 Python API 调用请求
- c# - 关于 C# 和函数原型的问题
- r - 如何使用数据帧的标准向量对数据帧进行子集化?
- discord.js - 如何修复我的不和谐机器人的代码?
- r - 如何将每日/每周/每月价值除以年度价值
- c# - 使用迁移的动态 sql 查询
- javascript - Discord.js 如果客户端没有权限,他会返回一个 message.send