我在Google上找不到任何相关内容,所以我希望在这里找到一些帮助:)
我有一个Python列表如下:
[['hoose', 200], ["Bananphone", 10], ['House', 200], ["Bonerphone", 10], ['UniqueValue', 777] ...]
Run Code Online (Sandbox Code Playgroud)
我有一个函数返回2个字符串之间的Levenshtein距离,对于House和hoose它将返回2,等等.
现在我想合并levenshtein得分为fe <5的列表元素,而(!)添加他们的得分,所以对于结果列表我想要以下内容:
[['hoose', 400], ["Bananaphone", 20], ['UniqueValue', 777], ...]
Run Code Online (Sandbox Code Playgroud)
要么
[['House', 400], ["Bonerphone", 20], ['UniqueValue', 777], ...]
Run Code Online (Sandbox Code Playgroud)
等等
只要它们的值被添加就没关系.
列表中只有2个项目非常相似,因此任何一个项目的链式效果与很多其他项目相似都不会出现.
你能否缩短以下例子?
if file_size_download > file_size: file_size_download = file_size
它对我来说看起来很笨拙.
我正在使用以下代码从网站获取数据:
time_out = 4
def tryconnect(turl, timer=time_out, retries=10):
urlopener = None
sitefound = 1
tried = 0
while (sitefound != 0) and tried < retries:
try:
urlopener = urllib2.urlopen(turl, None, timer)
sitefound = 0
except urllib2.URLError:
tried += 1
if urlopener: return urlopener
else: return None
Run Code Online (Sandbox Code Playgroud)
[...]
urlopener = tryconnect('www.example.com')
if not urlopener:
return None
try:
for line in urlopener:
do stuff
except httplib.IncompleteRead:
print 'incomplete'
return None
except socket.timeout:
print 'socket'
return None
return stuff
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以处理所有这些异常而不必每次都有这么多的样板代码?
谢谢!
我想保存一个文件,其中最有效字符的名称保持不变,如果我提供了文件名,则为fe:
>This\ ?wesomé_Song?©.mp3
我想保存它Windows 7,它不会让我保存它,直到我删除>,\并且?.字符?,©并且é完全没问题,我想保持它们完好无损(而不是通过ASCII过滤器运行所有内容).
我不知道哪些字符允许使用fe Unix等,但我希望它能独立于平台工作.我解决这个问题的方法是实现一个字符串列表,每个字符串包含一个字符类,从最恶毒的(fe ?)到最无害的(字母a)排列并逐字逐句地敲出它们直到我得到一个文件名我可以保存.
语言是Python,谢谢!