如何在Python中的文件中选择一个数字旁边的单词?

Den*_*neb 0 python list

假设我打开这个文件(wordlist.txt):

...
14613 bore
14614 borg
14615 boric
14616 boris
14621 born
14622 borne
14623 borneo
14624 boron
...
Run Code Online (Sandbox Code Playgroud)

如果变量是例如14623,我如何选择它旁边的单词?

aba*_*ert 6

如果您只是这样做一次,请按照falsetru的方式进行.

如果需要查找多个数字,请将条目存储在字典中:

wordmap = {}
with open('wordlist.txt') as f:
    for line in f:
        key, value = line.split()
        wordmap[key] = value
Run Code Online (Sandbox Code Playgroud)

现在你可以查找这样的任何数字:

>>> wordmap['14623']
borneo
Run Code Online (Sandbox Code Playgroud)

您可能想要添加一些改进:

  1. rstrip 换句话结束了
  2. split(None, 1) 处理中间带空格的单词
  3. wordmap[int(key)]所以你可以查找wordmap[14623]而不是wordmap['14623']
  4. 将整个事物重写为具有理解力的双线
  5. 更好的错误处理,因此如果文件中的一行无效,您可以跳过它,或打印一个有用的错误消息,如"无效行#1731:'glassdfefewasd'而不是转储一般异常,或任何适当的.

例如,这是#1,#2和#4:

with open('wordlist.txt') as f:
    wordmap = dict(line.rstrip().split(None, 1) for line in f)
Run Code Online (Sandbox Code Playgroud)