koa*_*421 4 python nested-lists
我有一个显示和库存报告的程序,我只是想知道如何将以下内容放入列表理解而不是for-loop ...我对所有这个python术语都是一个菜鸟但是从我所知道的是任何形式的for循环也可以表示为列表理解....任何帮助将不胜感激
def rowSum(TotSize,data,row,col):
"""Calculates the sum of each row in a given 2 dimensional list and stores
it into a given one dimensional list"""
for i in range(row):
sum = 0
for j in range(col):
sum += data[i][j]
TotSize[i] = sum
Run Code Online (Sandbox Code Playgroud)
您的代码基本上等同于
TotSize[:] = map(sum, data)
Run Code Online (Sandbox Code Playgroud)
这将总结所有data,不仅是第一row行和第一列col.它还会调整大小TotSize以匹配行data数(假设TotSize是列表).
我想知道你为什么要传递应该存储结果的列表.在Python中,您通常只返回该列表:
def row_sums(data):
return map(sum, data)
Run Code Online (Sandbox Code Playgroud)
现在,值得为这个定义一个函数是值得怀疑的......
我可能误解了你的问题,但是你要求这样的东西吗?
>>> testdata = [[5, 6, 8], [], range(8), [42]]
>>> ToTSize = [sum(row) for row in testdata]
>>> ToTSize
[19, 0, 28, 42]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |