我有一本包含20 000多个条目的字典,目前只有单词和源文本中使用该单词的次数(Dante的意大利神曲).
我想通过所有条目来处理所有使用实际定义替换值的条目.是否有一种简单的方法来迭代关键字,这些关键字具有作为值的数字以便替换(当我研究其含义时)?
字典开始:
{'corse': 378, 'cielo,': 209, 'mute;': 16, 'torre,': 11, 'corsa': 53, 'assessin': 21, 'corso': 417, 'Tolomea': 21} # etc.
Run Code Online (Sandbox Code Playgroud)
一种应用程序的排序,它将建议用于研究和定义的关键字.
from tkinter import *
from tkinter import ttk
parent = Tk()
p = ttk.Panedwindow(parent, orient=HORIZONTAL)
p.pack(fill=BOTH, expand=1)
p1 = ttk.Panedwindow(parent, orient=HORIZONTAL)
p1.pack(fill=BOTH, expand=1)
f4 =ttk.Labelframe(p1, text='marks numbers histograms', width =400, height = 100)
p1.add(f4)
# declare and set variable(s)
marks_to_hist = StringVar()
# ROUTINE OPENS MARKS , TALLIES RANGES, DRAWS HISTOGRAM
def open_marks_numbers():
N = int(marks_to_hist.get())
N = N * 5
marks = []
for line in open('marks.txt').readlines():
datafile = (line.strip().split('\t')[0].split(','))
for n in datafile:
marks.append(int(n))
marks=marks[:N]
return marks
def …Run Code Online (Sandbox Code Playgroud) range(5, 15) [1, 1, 5, 6, 10, 10, 10, 11, 17, 28]
range(6, 24) [4, 10, 10, 10, 15, 16, 18, 20, 24, 30]
range(7, 41) [9, 18, 19, 23, 23, 26, 28, 40, 42, 44]
range(11, 49) [9, 23, 24, 27, 29, 31, 43, 44, 45, 45]
range(38, 50) [1, 40, 41, 42, 44, 48, 49, 49, 49, 50]
Run Code Online (Sandbox Code Playgroud)
我从函数的打印命令中获得上述输出。我真正想要的是范围的组合列表,例如在顶行 5,6,7...15,1,1,5,6 等输出范围来自
range_draws=range(int(lower),int(upper))
Run Code Online (Sandbox Code Playgroud)
我天真地认为会给出一个范围。其他数字来自切片列表。
有人能帮我得到想要的结果吗?
def regexread():
import re
result = ''
savefileagain = open('sliceeverfile3.txt','w')
#text=open('emeverslicefile4.txt','r')
text='09,11,14,34,44,10,11, 27886637, 0\n561, Tue, 5,Feb,2013, 06,25,31,40,45,06,07, 19070109, 0\n560, Fri, 1,Feb,2013, 05,21,34,37,38,01,06, 13063500, 0\n559, Tue,29,Jan,2013,'
pattern='\d\d,\d\d,\d\d,\d\d,\d\d,\d\d,\d\d'
#with open('emeverslicefile4.txt') as text:
f = re.findall(pattern,text)
for item in f:
print(item)
savefileagain.write(item)
#savefileagain.close()
Run Code Online (Sandbox Code Playgroud)
上面写的函数解析文本并返回七个数字的集合.我有三个问题.
TypeError expected string or buffer,即使阅读了一些帖子,我也无法解决.这是我第一次使用正则表达式,所以请温柔!
messagebox.askyesno(0.0,'"{0}"{1} \n {2}\n'.format(search_analyte.get(),' is not in the database.','Add,if appropriate'))
print (str(messagebox.askyesno()))
if messagebox.askyesno() == True:
open_second()
else:
open_first()
Run Code Online (Sandbox Code Playgroud)
在这段代码中,askyesno 消息框打开。如果我单击“是”一次,什么也不会发生,如果我第二次单击它,“真”将打印到控制台(只是添加以查看我返回的内容),如果我第三次单击它,消息框将关闭并正确的笔记本页面打开。'no' 也会发生同样的行为。首先单击,什么都没有,消息框保持打开状态,但消息框中的文本消失,只留下是、否。第二次 False 打印到控制台,盒子保持打开状态,第三次,盒子关闭,正确的记事本页面打开。有人可以解释一下我做错了什么吗