dc:
返回文本文件中的多行
#lang racket
(require racket/match)
(require racket/generator)
(require (prefix-in dc: data/collection))
(sequence->list
(in-generator
(let recur ([seq '(1 2 3)])
(match seq
[(dc:sequence) (void)]
[(dc:sequence next next-rest ...)
(yield next)
(recur next-rest)]))))
返回文本文件的任何行,并且每行(在我的文本文件中)都有三个制表符('\ t')
如果我在不执行循环的情况下运行程序,则会得到所需的答案,但是当我使用for循环时,会不断收到错误消息
(dictConcepts [a_string [0],a_string [2] .rstrip('\ n')] = a_string [1]
IndexError:列表索引超出范围)
这是我的代码:
def numline(name)
答案 0 :(得分:1)
现在,如果:
a_string = anyLine(name, i).split('\t')
不会产生至少三个长度的列表(即\t
在该行中出现两次),您的代码将因索引错误而失败。
您可以对try
/ except
进行编程,以免索引不存在的内容:
a_string = anyLine(name, i).split('\t')
try:
dictConcepts[a_string[0], a_string[2].rstrip('\n')] = a_string[1]
except IndexError:
print('something is not right here')