[英]Get a string by number [Python]
我有一个以数字结尾的字符串列表,我需要根据给定的数字找到一个。
strings = ["..1", "..2" , "..6", "..16","..26"]
tosearch = 6
for mystr in strings:
if tosearch in mystr:
print("FIND!")
但是,如果我搜索“ 6”,我会发现3个字符串(.. 6,.. 16,.. 26)如何才能通过给定的数字精确地找到一个字符串(如果tosearch是26,我只会得到“ .. 26” )
完成搜索的一种方法是更改搜索字符串:
strings = ["..1", "..2" , "..6", "..16","..26"]
tosearch = 6
tosearch = '..{}'.format(tosearch) # ==> '..6'
for mystr in strings:
...
import re
strings = ["..1", "..2" , "..6", "..16","..26"]
pattern=re.compile(r"\d+")
stringnumbers = [int(pattern.findall(i)[0]) for i in strings]
tosearch = 6
if tosearch in stringnumbers:
print("FIND!")
strings = ["..1", "..2" , "..6", "..6","..16","..26"]
nstr =[int(s.replace('.','')) for s in strings]
tosearch = 6
for mystr in nstr:
if tosearch == mystr:
print("FIND!")
break
输出:
FIND!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.