【发布时间】:2017-11-13 07:42:50
【问题描述】:
当我尝试对文件中的单词和列表中的单词进行字符串切片时,我观察到了这种不寻常的行为。两种结果都完全不同。
例如,我有一个文件“words.txt”,其中包含以下内容
POPE
POPS
ROPE
POKE
COPE
PAPE
NOPE
POLE
当我编写下面的代码时,我希望得到一个省略了最后一个字母的单词列表。
with open("words.txt", "r") as fo:
for l in fo:
print(l[:-1])
但是我在下面得到了这个结果。没有发生字符串切片,单词和以前一样。
POPE
POPS
ROPE
POKE
COPE
PAPE
NOPE
POLE
但是如果我写下面的代码,我会得到我想要的
lis = ["POPE", "POPS", "ROPE", "POKE", "COPE", "PAPE", "NOPE", "POLE"]
for i in lis:
print(i[:-1])
我可以按预期删除每个单词的最后一个字母。
POP
POP
ROP
POK
COP
PAP
NOP
POL
那么为什么我会在同一个操作 [: -1] 中看到两个不同的结果?
【问题讨论】:
标签: python-3.x list file