对于学校的任务,我们必须开发一个程序,该程序将从用户处获取一段文本,将其转换为列表,然后查找用户在文本中搜索的单词的所有位置。
我已经找到了多种方法可以做到这一点,但是他们在某个地方都有轻微的垮台。除了一条,但有一条线我不明白,因此我想知道是否有人可以向我解释。
代码行是position = [I for I, x in enumerate(text2) if x == (word)]
答案 0 :(得分:0)
enumerate
函数创建与序列中元素位置对应的索引。
因此,如果您有列表l = ['this', 'is', 'a', 'text']
,则枚举将生成[(0, 'this'), (1, 'is'), (2, 'a'), (3, 'text')]
(实际上它会创建一个生成器,但现在这并不重要)。
根据{{3}},枚举相当于:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
然后将元组解压缩到I, x
。如果x等于word
,则会将I
添加到列表中。