首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >translate()函数错误

translate()函数错误
EN

Stack Overflow用户
提问于 2015-07-24 00:34:54
回答 1查看 70关注 0票数 0

翻译函数给了我一个错误,我给了它2个成员,我应该恰好传递给它1。这是基于我目前使用的书籍的正确代码。我使用的是Python 3.4。

代码语言:javascript
复制
import string
fhand=open("c:\Python34\Leos code\mbox.txt")
dictsort = dict()
#decorate dictionary
for line in fhand:
    line = line.translate(None, string.punctuation)
    line = line.lower()
    words = line.split()
    for word in words:
        if word not in dictsort:
            dictsort[word]= 1
        else:
            dictsort[word] += 1
#sort dictionary
dictlst = []
for k,v in dictsort.items():
    dictlst.append((v,k))
dictlst.sort(reverse=True)
for k,v in dictlst[:10]:
    print (k,v)
EN

回答 1

Stack Overflow用户

发布于 2015-07-24 04:43:05

应该添加一行代码,并修改翻译行:

代码语言:javascript
复制
remove_punctuation_map = dict((ord(char), None) for char in string.punctuation)
line = line.translate(remove_punctuation_map)

在Python3.x中,需要将元组传递给translate函数,因此需要在字典中创建元组,然后将其传递给translate方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31593219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档