可能重复:
返回列表中匹配条件的第一项
如何使用列表理解轻松获取“匹配”列表元素?例如,我有一个list
并且我正在寻找一个以某个字符串开头的元素。这很容易做到:
>>> lines = ['AHP Buildlife number', 'NIT-Version-Default-v0.16.0', 'E_release v2.3.14.0']
>>> [ x.strip() for x in lines if x.startswith('NIT-Version-Default') ]
['NIT-Version-Default-v0.16.0']
但是我怎样才能在if
语句中做同样的事情,以便匹配的列表元素可以用于进一步处理;像这样的东西:
>>> if [ x.strip() for x in lines if x.startswith('NSS-Checkin-Default') ]:
... ver = x.split('-')[-1].strip()
... print ver
因此,它v0.16.0
作为版本号返回。这显然是行不通的,但希望你明白我想要做什么。知道怎么做吗?干杯!!
PS。欢迎您改进问题或标题。