对IPython笔记本中的len()感到困惑吗?什么是计数规则?

2024-04-27 13:55:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我对IPython笔记本中的len()感到困惑。你知道吗

以下是文本文件的一部分“哈姆雷特.txt““

XXXX
HAMLET, PRINCE OF DENMARK

by William Shakespeare




PERSONS REPRESENTED.

......

案例1: 从CS109的实验室存储库复制此文本文件时,我使用以下代码:

test_hamlet = open("hamlet.txt")
test_length = [len(line) for line in test_hamlet]
print test_length 

输出应该是一个列表

[9, 27, 2, 24, 2, 2, 2, 2, 22, ......]

但是,第一行只有4个字母。你知道吗

案例2: 我既没有把一封信放进文本文件,也没有从文本文件中取出任何一封信。我唯一做的就是保存这个文件。例如,我在XXXXY之后添加一个字母Y,然后去掉if并保存。你知道吗

XXXX
HAMLET, PRINCE OF DENMARK

by William Shakespeare




PERSONS REPRESENTED.

......

这次我使用了相同的代码:

test_hamlet = open("hamlet.txt")
test_length = [len(line) for line in test_hamlet]
print test_length 

但是,输出如下:

[6, 27, 2, 24, 2, 2, 2, 2, 22, ......]

案例N: 使用相同的文本文件。唯一的区别是更改某些内容并恢复更改并保存文本文件。你知道吗

使用相同的代码。输出不同。这让我很困惑。你知道吗

这个len()函数的真正计数规则是什么?你知道吗

非常感谢!你知道吗


Tags: of代码testtxtbylenlinelength