【发布时间】:2021-11-23 02:54:04
【问题描述】:
我正在读取一个分数很高的文本文件,并试图找到字符串的哪个索引是名称停止的位置,以及分数的开始位置。这是文件的格式:
John 15
bob 27
mary 72
videogameplayer99 99
guest 71
我该怎么做?
【问题讨论】:
-
为什么需要这样做?只需使用
line.split()将其拆分为名称和分数。
我正在读取一个分数很高的文本文件,并试图找到字符串的哪个索引是名称停止的位置,以及分数的开始位置。这是文件的格式:
John 15
bob 27
mary 72
videogameplayer99 99
guest 71
我该怎么做?
【问题讨论】:
line.split() 将其拆分为名称和分数。
如果您正在寻找将字符串拆分为 2 个单独部分的索引,那么您可以使用 [string].split()(其中 string 是单独的一行)。如果出于其他原因需要查找空间的索引,请使用:[string].index(" ")。
【讨论】:
您可以剥离线以将其用空格分隔。它将生成一个列表,其中包含行中的 2 个“单词”,在这种情况下,单词将是名称和分数(以字符串形式)。您可以使用:
result = line.split()
name = result[0]
score = int(result[1])
【讨论】:
在这种情况下,对于每一行,您都将查找第一次找到空格字符 " " 的索引。在 python 中,您可以通过对字符串使用 find 函数来完成此操作。例如,如果您有一个字符串s = videogameplayer99 99,那么s.find(" ") 将返回“17”。
如果您使用此方法从数字中拆分名称,我建议您使用split 函数,该函数将根据某些分隔符拆分字符串。例如,s.split(" ") = ["videogameplayer99", "99"]。
【讨论】: