найти подстроку в выбранной части списка элементов - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть приведенный ниже список строк (list1), и я хочу узнать, присутствует ли str b где-либо в левой части элемента до десятичной точки в списке list1.

Я попробовал приведенный ниже код, но он находит все элементы, в которых находится 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 голосов
/ 22 ноября 2018

Вам нужно разделить каждую строку на . и извлечь первое разделение:

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']
...