我希望匹配列表中的项目并将该项目放入变量中。下面是我到目前为止所做的,但目前我不知道如何创建正则表达式我需要匹配只有1项,我不知道这是否是最好的方法。我正在尝试将列表中的项目与' / site-packages'匹配。最后。
测试数据(网站输出)
['/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/site-python', '/Library/Python/2.7/site-packages']
代码
import site
import re
sites = site.getsitepackages()
print sites
site = re.compile('*/site-packages')
for item in sites:
m = site.search(item)
if m:
print m
答案 0 :(得分:5)
在这种情况下,您还可以在列表推导中使用字符串in
运算符
m = [i for i in sites if r'/site-packages' in i]
同样,您可以使用endswith
m = [i for i in sites if i.endswith(r'/site-packages')]
修改强>
要在列表理解执行后获得最小元素(按长度),您可以执行
min(m, key=len)