python - 零长度的列表理解
问题描述
我正在生成一个包含 100 个数字的随机列表,可以是 1 到 20。我正在使用列表理解方法生成列表,如下面的代码所示。
我创建了第一个函数,我基本上在其中创建了列表。该列表按预期创建!
import random
v = []
def generate_v():
v = [random.randint(0,100) for i in range(0,100)]
return v
print(generate_v())
def avg_v():
return sum(v)/len(v)
print(avg(v))
但是,如果我执行另一个函数,其中我需要生成列表的长度,它会让我给出错误,说我不能被零除。基本上它假设我创建的列表没有任何长度
解决方案
print(generate_v())
调用该函数,打印其结果并丢弃该结果。内部功能与外部v
无关。v
更好的方法是
import random
def generate_v():
v = [random.randint(0,100) for i in range(0,100)]
return v
def sum_v(v):
return sum(v)/len(v)
# now the code:
v = generate_v()
print(v)
print(sum(v))
print(sum_v(v))
推荐阅读
- shared-libraries - 如何检查我是否在 ubuntu 中有共享库
- javascript - 从日期数组生成json对象,每个日期都出现
- python - Winsorize 异常值
- c# - MongoDB 需要大量时间来查询大量记录
- cmake - target_include_directories 上的生成器表达式的用例是什么?
- node.js - NodeJS:在脚本之间共享猫鼬连接
- c++ - unordered_map 索引错误
- javascript - 无法使用 JS 循环获取选定的选项
- reactjs - 我可以从批量突变中读取每个响应吗?[阿波罗使用变异]
- google-cloud-platform - GCP AutoML 表:创建回归模型时使用什么算法?