我是Python新手,试图理解这里给出的计算文档中唯一单词的问题的答案.答案是:
print len(set(w.lower() for w in open('filename.dat').read().split()))
Run Code Online (Sandbox Code Playgroud)
将整个文件读入内存,使用空格将其拆分为单词,将每个单词转换为小写,从小写单词创建(唯一)集合,计算它们并打印输出
为了尝试理解这一点,我试图逐步在Python中实现它.我可以使用open和read导入文本块,使用split将其分成单个单词,并使用lower将它们全部小写.我还可以在列表中创建一组唯一的单词.但是,我无法弄清楚如何做最后一部分 - 计算唯一单词的数量.
我想我可以通过迭代一组独特单词中的项目并在原始小写列表中计算它们来完成,但我发现set结构不可索引.
所以我想我正在尝试用自然语言做一些事情,对于集合中的所有项目,告诉我它们在小写列表中出现了多少次.但我无法弄清楚如何做到这一点,我怀疑对Python的一些潜在误解阻碍了我.
伙计们感谢你的答案.我刚刚意识到我没有正确解释自己 - 我不仅要找到唯一单词的总数(我理解的是集合的长度),还要找到每个单词的使用次数,例如'the'使用了14次,'和'使用了9次,'它'使用了20次,依此类推.为混乱道歉.
我看过其他关于此的问题,但我不知道我哪里错了。我可以使用如下所示的 PHP 页面毫无问题地上传文件:
<form action="https://api.telegram.org/bot190705145:AAH17XDRrPtDO1W1qHCoZ8i0_KqAAAAAAA/sendPhoto" method="post" enctype="multipart/form-data">
<input type="text" name="chat_id" value="XXXXXXXX" />
<input type="file" name="photo" />
<input type="submit" value="send" />
</form>
Run Code Online (Sandbox Code Playgroud)
但我想从 Python 中通过请求来做到这一点:
url = 'https://api.telegram.org/bot190705145:AAH17XDRrPtDO1W1qHCoZ8i0_KAAAAAAAAA/sendPho to?chat_id=XXXXXXXXX'
files = {'file':open('/Users/stephen/desktop/Sample.png', 'rb')}
r = requests.post(url, files=files)
Run Code Online (Sandbox Code Playgroud)
然后出现 r.text 错误:
u'{"ok":false,"error_code":400,"description":"[Error]: Bad Request: there is no photo in request"}'
Run Code Online (Sandbox Code Playgroud)
我想我也错误地处理了 chat_id 参数,它需要以不同的方式传递。
非常感谢任何指导!