Len 和 Print Len() 之间的区别



我最近开始用Python进行数据分析,因为我不是从头开始学习Python的,我觉得我错过了一些细微差别。

注意到的一件事是,在我的一份报告中,我从CSV导入了一个数据集,将其作为字典放入,对其进行了操作并尝试打印其余条目。

我使用过:

len(a)
len(b)
len(c)

当我这样做时,只有一个数字返回,所以我花了大量时间来调试我的代码。最后,我在网上找到了类似的代码,并试图复制其语法。有效的更改是:

print len(a)
print len(b)
print len(c)

我试图了解这两个命令之间的区别。最初我以为 len 只是打印了一个计数,但我想它有什么不同吗?

len 只有一个计数的"记忆"吗?为什么需要添加打印?

len(list) 不打印任何内容,它只返回。如果您使用的是 REPL(读取 - 评估 - 打印 - 循环),那么它将打印返回值并循环。因此,要打印多个,您必须调用打印。

这是方法文档

len返回一个值,只有在 REPL 中,您才会看到返回的值,而无需将值分配给变量。更具体地说,

镜头

返回对象的长度(项数)。该参数可能 是序列(如字符串、字节、元组、列表或范围)或 集合(例如字典、集合或冻结集合)。

当不清楚

时,您需要打印或写入,产生某些价值的所有内容都需要回显(例如,在交互式会话中,我们称之为 REPL Read Eval Print Loop)。

所以:

v = len([1, 42])

将值 2 放在 V 中。

因此,在执行的脚本中具有以下 3 行:

v = len([1, 42])
len([1, 42])
print v

只会打印一行(即显示值为 2 的最后一行)。

这样

看。

n = len(a)

n设置为返回值。

n = print(len(a))

None分配给n,因为这是print()返回的内容。 在函数式编程术语中,将值打印到控制台是一种副作用,尽管这通常是在任何内容上调用print()的原因。

(传统。Python 2 这是一个语法错误,因为print是一个关键字。

在 Python 提示符下,Python 解释器也会打印 len(a) 的值,但这是因为 Python 解释器会自动执行此操作,以方便您使用。

在常规的Python程序中,基本上只有print()write()等产生输出,大多数操作(len+open等)只返回一些东西,而不打印它。 (想想如果一个程序打印它计算的所有内容,它会有多嘈杂。

最新更新