{'this':4, 'that':4, 'water':5, 'china':5, 'great':5.......till length 15}
我正在处理一些文本文件,其中包含太多单词,我想获取所有带有length的单词。例如,首先,我想获取所有长度为2的单词,然后是3,然后是4,直到15字= this,langth = 4讨厌:4爱:4那:4中国:5太好了:5依此类推,直到15
我正在尝试使用下面的代码,但是我无法一次一遍地遍历所有键。通过这段代码,我只能得到长度为5的单词,但是我希望这个循环开始它从2到upt0 15,顺序为>
text = open(r"C:\Users\israr\Desktop\counter\Bigdata.txt")
d = dict()
for line in text:
line = line.strip()
line = line.lower()
words = line.split(" ")
for word in words:
if word not in d:
d[word] = len(word)
def getKeysByValue(d, valueToFind):
listOfKeys = list()
listOfItems = d.items()
for item in listOfItems:
if item[1] == valueToFind:
listOfKeys.append(item[0])
return listOfKeys
listOfKeys = getKeysByValue(d, 5)
print("Keys with value equal to 5")
#Iterate over the list of keys
for key in listOfKeys:
print(key)
我正在处理一些文本文件,其中包含太多单词,我想获取所有带有length的单词。例如,首先,我想得到所有长度为2的单词,然后是3,然后是4,直到15 ... ... >>>> [[
{'this':4, 'that':4, 'water':5, 'china':5, 'great':5.......till length 15}
要获得这种字典,您可以按以下值对字典进行排序。import operator
sorted_d = sorted(d.items(), key=operator.itemgetter(1))
sorted_d将采用以下格式:
{'this':4, 'that':4, 'water':5, 'china':5, 'great':5,......., 'abcdefghijklmno':15,...}
我所做的是:更改了字典的结构:在您的词典版本中,“单词”必须是键值等于其长度的键。像这样:{"hate": 4, "love": 4}
新版本:{4: ["hate", "love"], 5:["great", "china"]}
现在,键是整数,值是单词列表。例如,如果key为4,则该值将是文件中长度为4的所有单词的列表。之后,代码将从文件读取的数据中填充字典。如果字典中没有该键,则会创建该键,否则将根据该键将单词添加到列表中。
键被排序并打印其值。也就是说,该长度的所有单词都是按顺序打印的。
- 您忘记了关闭代码中的文件。在程序完成执行时释放程序正在使用的任何资源是一种很好的做法。 (以避免资源或内存泄漏以及其他此类错误)。在大多数情况下,只需关闭该资源即可完成此操作。例如,关闭文件会释放文件,因此它现在可以由其他程序使用。
- #2020年4月24日#03:11 AM(GMT +05)#塔哈·阿斯哈#打开文件以从中读取数据myFile = open(r“ books.txt”)#创建一个空字典,在其中存储字数统计#字典中数据的格式为:#{1:[来自长度为1的文件中的单词],2:[[来自长度为2的文件中的单词],.....依此类推}d = dict()#遍历文件的所有行对于myFile中的行:#从当前行获取单词单词= line.lower()。strip()。split(“”)#遍历当前行中的每个单词逐字逐句:#获取这个单词的长度长度= len(字)#词典中没有这个长度的单词#为此长度创建一个列表#length是键,值是具有此长度的单词列表如果长度不在d.keys()中:d [长度] = [字]#如果已经有这个长度的单词,则将当前单词追加到该列表中其他:d [length] .append(word)对于已排序的键(d.keys()):print(key,end =“:”)打印(d [key])myFile.close()
{"hate": 4, "love": 4}
新版本:{4: ["hate", "love"], 5:["great", "china"]}
现在,键是整数,值是单词列表。例如,如果key为4,则该值将是文件中长度为4的所有单词的列表。