Сравнение строки, включая десятичное в Python - PullRequest
1 голос
/ 06 мая 2019

У меня есть вопрос здесь:

Как сравнить переменную со строкой + десятичная дробь в Python.Пример:

a = "2.11.22-abc-def-ghi"

if a == (2.11*) :
print "ok"

Я хочу, чтобы он сравнивал только первые 2 десятичных знака, и остальное его значение не имеет значения.Как я могу это сделать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Вот наиболее прямой ответ на ваш вопрос, я думаю ... способ кодирования того, к чему приводит ваш псевдокод:

a = "2.11.22-abc-def-ghi"

if a.startswith("2.11"):
    print("ok")

Если вы хотите получить числовое значение с фронта, повернитеэто в истинное число, и использовать это в сравнении, независимо от того, что конкретное значение, вы можете сделать это:

import re

a = "2.11.22-abc-def-ghi"

m = re.match(r"(\d+\.\d+).*", a)
if m:
    f = float(m.group(1))
    if (f == 2.11):
        print("ok")
0 голосов
/ 06 мая 2019

Если вы хотите сравнить часть строки, вы всегда можете нарезать ее с помощью синтаксиса str[start_index: end_index], а затем сравнить срез.Обратите внимание, что start_index включено, а end_index - эксклюзивно.Например,

name = "Eric Johnson"
name[0:3] #value of the slice is "Eri" no "Eric".

в вашем случае вы можете сделать

if a[0:4] == "2.11":
 #stuff next
...