在列表元素的选定部分中查找子字符串
find a substring in a selected portion of a list elements
我有以下字符串列表 (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])
它 returns 以下内容:
['3.16', '4.19', '1.5', '4.17', '2.18', '5.18', '4.18', '5.16']
但是,我只想得到 1.5
,因为这是字符串 b 与小数点前左侧部分匹配的唯一元素。请记住,元素是字符串格式。有什么快速检查这个东西的方法吗?
您需要按 .
拆分每个字符串并提取第一个拆分:
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']
我有以下字符串列表 (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])
它 returns 以下内容:
['3.16', '4.19', '1.5', '4.17', '2.18', '5.18', '4.18', '5.16']
但是,我只想得到 1.5
,因为这是字符串 b 与小数点前左侧部分匹配的唯一元素。请记住,元素是字符串格式。有什么快速检查这个东西的方法吗?
您需要按 .
拆分每个字符串并提取第一个拆分:
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']