⑴ 题目python编写程序,统计jianjie.txt文件中各字词出现的次数,用于字典存储
下面是一个 Python 程序,可以实现统计 jianjie.txt 文件中各字词出现闭伍的次数,并使用字典存储结果。
在这个程序中,或绝我们首先读入 jianjie.txt 文件的内容,然后使用 split 函数将其分割成一个个字词。接着,我们遍历每一个字词,并使用字典存储它们出现的次数。最后,我们输出字典即可得到统计结果。
希望这对你衫态姿有帮助!
⑵ 用python写一个单词推荐系统
实现一个简单的单词推荐系统,可以使用如下步谈毕骤:
1. 准备单词列表和输入单词
首先准备一个单词列表,用于查找相似单词。然后输入用户要查询的单词。
words = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape', 'honeydew', 'kiwi', 'lemon']
query = input("Please enter a word: ")
2. 计算单词间的相似度
可以使用如下的余弦相似度公式计算两个单词之间的培侍棚相似度:
$similarity = frac{sum_{i=1}^{n} a_i imes b_i}{sqrt{sum_{i=1}^{n} a_i^2} imes sqrt{sum_{i=1}^{n} b_i^2}}$
其中,$a_i$ 和 $b_i$ 分别表示两个单词的向量表示中第 $i$ 个元素的值。
在这里,我们采用单词向量的方法,将每个单词表示为一个向量。向量的每个元素表示单词中每个字母的出现次数。
定义一个函数,用于计算两个单词之间的相似度:
import math
def compute_similarity(word1, word2):
vector1 = [0] * 26
vector2 = [0] * 26
# 统计每个单词中每个字母的出现次数
for char in word1:
vector1[ord(char) - ord('a')] += 1
for char in word2:
vector2[ord(char) - ord('a')] += 1
# 计算余弦相似度
dot_proct = sum([vector1[i] * vector2[i] for i in range(26)])
magnitude1 = math.sqrt(sum([x ** 2 for x in vector1]))
magnitude2 = math.sqrt(sum([x ** 2 for x in vector2]))
similarity = dot_proct / (magnitude1 * magnitude2)
return similarity
3. 查找相似单词
遍历单词配则列表,计算每个单词与输入单词的相似度,并将相似度保存在字典中。然后将字典按照相似度从大到小排序,输出前五个相似的单词。
similarities = {}
for word in words:
similarities[word] = compute_similarity(query, word)
similarities = {k: v for k, v in sorted(similarities.items(), key=lambda item: item[1], reverse=True)}
print("The recommended words are: ")
count = 0
for key in similarities.keys():
if count >= 5:
break
if key != query:
print(key)
count += 1
示例输出结果:
Please enter a word: banan
The recommended words are:
banana
lemon
apple
kiwi
grape
注意:这只是一个简单的单词推荐系统示例,实际应用中可能需要使用更复杂的算法或数据结构来实现,以达到更好的推荐效果。
希望我的回答能够帮助到您!
⑶ python中,怎么做个字典,数句子中单词出现的次数
text = raw_input("enter a sentence:")
words = text.split()
wordscount = [words.count(elem) for elem in words]
worddict={map(None,words,wordscount)}
要完成你的目标:
我要
计算每个词语出现的次数,
把词语出现的次数和词语列表组合成字典;
伪代码出来了,程序也就有了....
python有着强大的列表解析,内建模块使用C完成,他们很快,所以能够调用内建模块你就不要自己多事。
尽量按照伪代码去完成程序,除非必须细化,否则让python为你操作低层吧,他很聪明
第三句释义:
对于列表元素计数有很简单的list.count()方法。
这个语句就是利用了这个,statement for element in list fileter expression这是list的解析式。
通过这个你可以方便的将一个list解析为另一个。这一句就对list中所有的元素运用count()方法,并且建立新的list。
另外一个例子:a=[2,3,4,7,8]找到这个list中的偶数,并得到它们的平方列表
这样写:[elem*elem for elem in a if elem%2==0]
第四句释义:
list有个map方法,它可以提供list的映射。map(statement,list1,list2)就是将list1,list2按照statement规则映射。我的表达式是none所以得到的结果就是简单的[('this', 3), ('is', 4), ('a', 1)]这样的二元tuple列表。
dict函数则是针对上述list的。它能把上述list转化为字典。
这在你做数据处理时很有好处,你可以很轻松的建立一个hash表。
python的强大在于简明,遇到程序尝试着用最简单地方法去解决,你会很快喜欢上的。
以上^乐于与您交流
⑷ python字典类型的英文单词是什么
python字典类型的英文单词是:dict。
在Python中,字典这种数据类型的英文叫做 “dict”,有的语言里它的名称是 “hash”。字典是编程中最常用的数据结构之一。它是用来做映射或者存储你需要的键值对,这样当你需要的时候,你可以通过key来获取它的值。
同样,程序员不会使用一个像“字典”这样的术语,来称呼那些不能像一个写满词汇的真实字典正常使用的事物,所以我们只要把它当做真实世界中的字典来用就好。
字典与列表的区别
针对列表你可以做这样的事情:
>>> things = ['a', 'b', 'c', 'd']
>>> print things[1]
b >>> things[1] =
'
z'
>>> print things[1]
z >>> things
['a', 'z', 'c', 'd']
你可以使用数字作为列表的索引,也就是你可以通过数字找到列表中的元素。你现在应该了解列表的这些特性,而你也应了解,你也只能通过数字来获取列表中的元素。而 dict是让你可以通过任何东西找到元素,不只是数字。是的,字典可以将一个物件和另外一个东西关联,不管它们的类型是什么。
⑸ 用Python任意输入三个英文单词,按字典顺序输出。怎么写
words=raw_input("pleaseinputthreewords")
printsorted(words.split())
例如:
a = str(raw_input(u"请输入用空格分开的单词:"))
b = a.split()
b.sort()
for i in b:
print i
(5)python字典编程词汇扩展阅读:
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。
这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。