我正在尝试在 python 中创建一个函数,它返回给定瓦片宽度 w 的 w-shingling ,但希望 shingled 列表中的字符串都是小写字母。
我试过把 [c.lower() for c in inputFile] 和这类东西放在一起。
import io
sample_text = io.StringIO("This is a sample text. It is a ordinary string but simulated to act as the contents of a file")
def wShingleOneFile(inputFile, w):
for line in inputFile:
words = line.split()
[c.lower() for c in inputFile]
return [words[i:i + w] for i in range(len(words) - w + 1)]
print(wShingleOneFile(sample_text, 3))
这是打印时的输出:
[['This', 'is', 'a'], ['is', 'a', 'sample'], ['a', 'sample', 'text.'], ['sample', 'text.', 'It'], ['text.', 'It', 'is'], ['It', 'is', 'a'], ['is', 'a', 'ordinary'], ['a', 'ordinary', 'string'], ['ordinary', 'string', 'but'], ['string', 'but', 'simulated'], ['but', 'simulated', 'to'], ['simulated', 'to', 'act'], ['to','act', 'as'], ['act', 'as', 'the'], ['as', 'the', 'contents'], ['the', 'contents', 'of'], ['contents', 'of', 'a'], ['of', 'a', 'file']]
但我希望所有这些字母都是小写的。