在列表元素的选定部分中找到子字符串

时间:2018-11-22 15:33:01

标签: python string list list-comprehension python-3.5

我有下面的字符串列表(list1),我想查找str b是否存在于列表1中小数点之前的元素左侧部分的任何位置。

我尝试了下面的代码,但是它找到了找到str b的所有元素。

list1= ['4.39', '5.25', '2.29', '3.16', '4.19', '1.5', '4.17', '2.18', '5.18', '4.18', '5.16', '4.4']
b=str(1)
print([s for s in list1 if b in s])

它返回以下内容:

['3.16', '4.19', '1.5', '4.17', '2.18', '5.18', '4.18', '5.16']

但是,我只想获取1.5,因为这是字符串b与小数点前的左侧部分匹配的唯一元素。记住元素是字符串格式。有什么快速检查方法吗?

1 个答案:

答案 0 :(得分:2)

您需要用.分割每个字符串并提取第一个分割:

print([s for s in list1 if '1' in s.split('.')[0]])

['1.5']

要进行精确匹配,请使用==

print([s for s in list1 if s.split('.')[0] == '1'])

['1.5']