python中,怎么做个字典,数句子中单词出现的次数? python中,怎么做个字典,数句子中单词出
python\u4e2d\uff0c\u600e\u4e48\u505a\u4e2a\u5b57\u5178\uff0c\u6570\u53e5\u5b50\u4e2d\u5355\u8bcd\u51fa\u73b0\u7684\u6b21\u6570\u4ee5\u4e0b\u662f\u4e00\u79cd\u53ef\u80fd\u7684\u8ba1\u7b97\u65b9\u6cd5\u3002
sentence='''by: William Shakespeare From fairest creatures we desire increase,That thereby beauty's rose might never die,But as the riper should by time decease,His tender heir might bear his memory;But thou, contracted to thine own bright eyes,Feed'st thy light's flame with self-substantial fuel,Making a famine where abundance lies,Thyself thy foe, to thy sweet self too cruel.Thout that are now the world's fresh ornamentAnd only herald to the gaudy spring,Within thine own bud buriest thy contentAnd, tender churl, mak'st waste in niggarding.Pity the world, or else this glutton be,To eat the world's due, by the grave and thee.'''words=sentence.split()from string import punctuationwords=[w.strip() for w in words]for p in punctuation: words=[w.strip(p) for w in words]diff_words=set(words)stat={}for w in diff_words: stat[w]=words.count(w)print(stat)
def get_words(sentence):
return sentence.split(" ")
def get_word(word):
if word.isalpha():
return word
else:
return word[:-1]
if __name__ == "__main__":
test = "this is a test, thanks! this is another test, thanks!"
test_words = get_words(test)
test_words_clear = list()
for word in test_words:
test_words_clear.append(get_word(word))
result = dict()
for word in test_words_clear:
if result.get(word, None) is None:
result[word] = 1
else:
result[word] += 1
print(result)
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的强大在于简明,遇到程序尝试着用最简单地方法去解决,你会很快喜欢上的。
以上^乐于与您交流
words 已经得到了,用一个 word_dict 当作 map 统计频度就可以了:
text = raw_input("Enter a sentence:")
words = text.split()
word_dict = {}
for w in words:
if w not in word_dict:
word_dict[w] = 1
else:
word_dict[w] = word_dict[w] + 1
print word_dict
绛旓細1.浼犵粺鐨勬枃瀛楄〃杈惧紡锛>>> d={'name':'Allen','age':21,'gender':'male'}>>> d{'age': 21, 'name': 'Allen', 'gender': 'male'}濡傛灉浣犲彲浠ヤ簨鍏堟嫾鍑烘暣涓瀛楀吀锛杩欑鏂瑰紡鏄緢鏂逛究鐨勩2.鍔ㄦ佸垎閰嶉敭鍊硷細>>> d={}>>> d['name']='Allen'>>> d['age']=21>>> d['gender']='...
绛旓細鏂板缓涓涓瓧鍏革紝host鏄敭锛宔arth鏄銆傝繖涓瓧鍏稿彧鏈変竴涓敭 灏唄ost鐨勫艰缃垚1000锛屾柟娉曟槸锛氭垜浠彲浠ョ敤杩欎釜鏂规硶鏉ヨ緭鍑烘墍鏈夌殑閿 鎴戜滑鍙互鍚戝瓧鍏镐腑閿拰鍊 鍒╃敤寰幆鐨勬柟娉曡緭鍑烘墍鏈夌殑閿拰鍊
绛旓細閫氳繃杩欎釜浣犲彲浠ユ柟渚跨殑灏嗕竴涓猯ist瑙f瀽涓哄彟涓涓傝繖涓鍙ュ氨瀵筶ist涓墍鏈夌殑鍏冪礌杩愮敤count()鏂规硶,骞朵笖寤虹珛鏂扮殑list銆傚彟澶栦竴涓緥瀛:a=[2,3,4,7,8]鎵惧埌杩欎釜list涓殑鍋舵暟,骞跺緱鍒板畠浠殑骞虫柟鍒楄〃杩欐牱鍐:[elem*elem for elem in a if elem%2==0] 绗洓鍙ラ噴涔:list鏈変釜map鏂规硶,瀹冨彲浠ユ彁渚沴ist鐨勬槧灏勩俶ap(statement,...
绛旓細1銆佸啓涓涓▼搴忥紝浠绘剰杈撳叆瀛︾敓鐨勪俊鎭紝褰㈡垚瀛楀吀鍚庡瓨浜庡垪琛ㄤ腑銆2銆佸鐢熺殑淇℃伅鍖呮嫭濮撳悕(瀛楃涓)锛屽勾榫(鏁存暟)锛屾垚缁(鏁存暟)锛屽惊鐜緭鍏ュ鐢熶俊鎭紝杈撳叆瀛︾敓濮撳悕涓虹┖鏃剁粨鏉熻緭鍏ワ紝褰㈡垚瀛楀吀鍒楄〃銆3銆佸彲浠ヤ慨鏀瑰拰鍒犻櫎瀛︾敓鎴愮哗銆4銆佸疄鐜版墦鍗拌彍鍗曪紝鎻愮ず閫夋嫨瀵瑰簲鐨勬搷浣溿
绛旓細鏄兂璇诲彇鏂囦欢璇诲嚭鏉ョ洿鎺ユ槸涓涓瓧鍏鍚楋紵鍙互鐢╬ickle妯″潡锛宲ickle.dump()灏嗗璞″瓨鍌ㄤ负鏂囦欢锛宲ickle.load()灏嗗璞¤鍙栧嚭鏉ャ俻ickle.load(file)浠巉ile涓鍙栦竴涓瓧绗︿覆锛屽苟灏嗗畠閲嶆瀯涓哄師鏉ョ殑python瀵硅薄銆俻ickle.dump(obj, file, [,protocol])娉ㄨВ锛氬皢瀵硅薄obj淇濆瓨鍒版枃浠秄ile涓幓銆
绛旓細鏍煎紡 :name = { key1 : value1 , key2 : value2 ,鈥︹ 鐢遍敭鍊煎缁勬垚锛岄敭蹇呴』鏄笉鍙彉鏁版嵁绫诲瀷缁勬垚锛屼竴鑸槸鍞竴鐨勶紝濡傛灉閲嶅鍒欎細瑕嗙洊 渚 锛歞ict = { " 鎬у埆 " : " 濂 " , " 骞撮緞 " : 18}
绛旓細鍦≒ython涓紝瀛楀吀浣跨敤澶ф嫭鍙穥}鏉ュ畾涔夈傚瓧鍏告槸涓绉嶆棤搴忕殑鏁版嵁缁撴瀯锛岀敤浜庡瓨鍌ㄩ敭鍊煎銆傚ぇ鎷彿{}鐢ㄤ簬琛ㄧず瀛楀吀鐨勫紑濮嬪拰缁撴潫锛岄敭鍊煎涔嬮棿浣跨敤鍐掑彿锛氬垎闅斻傛瘡涓敭鍊煎涓紝閿拰鍊间箣闂翠娇鐢閫楀彿锛鍒嗛殧銆傞氳繃浣跨敤澶ф嫭鍙峰拰鍐掑彿锛屽彲浠ュ垱寤轰竴涓寘鍚涓敭鍊煎鐨勫瓧鍏搞
绛旓細甯哥敤鏂规硶锛1銆# 鏂板瀛楀吀涓殑鏁版嵁 dict1 = {'name':'huu','age':20,'gender':'鐢'} dict1['id'] = 133 print(dict1)2銆# 淇敼瀛楀吀涓殑鏁版嵁 dict1['name'] = 'xiauaiguai'print(dict1)3銆佸垹闄ゅ瓧鍏告垨鍒犻櫎瀛楀吀涓寚瀹氶敭鍊煎 del()/del:dict1 = {'name':'huanghu','age':30,'...
绛旓細棰樹富浣犲ソ,浠g爜: {key: chr(key) for key in range(0,128)} 娴嬭瘯鎴浘濡備笅:甯屾湜鍙互甯埌棰樹富, 娆㈣繋杩介棶.
绛旓細Making a famine where abundance lies,Thyself thy foe, to thy sweet self too cruel.Thout that are now the world's fresh ornamentAnd only herald to the gaudy spring,Within thine own bud buriest thy contentAnd, tender churl, mak'st waste in niggarding.Pity the world, or else ...