python - 给出2个嵌套列表并计算最里面的元素
问题描述
如果我有 2 个列表,例如:
科目和学分:
[['Math',6],['English',3],['Drama',2]]
学生和分数:
[['Amy',,90,80],['Jack','60','30','50'],['Tom','80','','50']]
并想像这样计算它们:
对艾米来说,数学没有分数。英语90(3学分)和戏剧80(2学分)所以它会输出
[['Amy',,270,160],['Jack',360,90,100],['Tom'480,,100]]
编辑:
我自己解决了。我只需要使用类似的东西
a[i][j] = b[i][j] *c [i][1]
解决方案
以下应该做到这一点:
credit = [['Math',6],['English',3],['Drama',2]]
scores = [['Amy',None,90,80],['Jack',60,30,50],['Tom',80,None,50]]
output = [
[stud[0]] +
[
None if score is None else score * credit[idx][1]
for idx, score in enumerate(stud[1:])
] for stud in scores
]
print(output)
# [['Amy', None, 270, 160], ['Jack', 360, 90, 100], ['Tom', 480, None, 100]]
也就是说,您可能应该更简单地实现这个,而不需要列表理解。
推荐阅读
- syntax-error - 我是否正确理解了该功能及其用途?另外,语法错误?
- arrays - 使用公式来组织具有不同数据量的列
- typescript - 是否可以拒绝在打字稿中直接使用 javascript 属性?
- php - PHP Excel无法保存在文件夹中
- python - 学习 Python。tkinter widget.Grid 管理器出现问题并将滚动条添加到列表框小部件
- c++ - 使用 istream 参数读取的 Istream 函数
- javascript - 使用 JavaScript 和 PHP 从输入表单字符串中删除空格?
- python - Cursor.execute 数据在 python 中添加单引号并中断包含 IN(1,2) 语句的查询
- javascript - Javascript - TypeError:在对象中找不到函数startsWith
- flutter - 在颤振中,如何添加一个看起来像带下划线的文本字段的大纲按钮?