python 中的精确字符串匹配 - 两个列表元素的比较
Exact string matching in python - Comparison of two list elements
我正在尝试比较 python 中的两个列表元素。如果两个元素完全匹配,则返回true,否则返回false。
元素如下所示:
list1_element_1: ['GigabitEthernet0/6/4/1']
list2_element_1: ['GigabitEthernet0/6/4/1.100']
我尝试了多种比较这两个元素的方法,包括正则表达式。
下面是我用来比较元素的函数:
def find_word(text,search):
result = re.findall('\b'+search+'\b', text)
if len(result)>0:
return True
else:
return False
预期结果:
find_word('GigabitEthernet0/6/4/1.100','GigabitEthernet0/6/4/1') FALSE
实际结果:
find_word('GigabitEthernet0/6/4/1.100','GigabitEthernet0/6/4/1') TRUE, because 'GigabitEthernet0/6/4/1' is existing in element 'GigabitEthernet0/6/4/1.100', I guess?
只有当两个列表元素完全相同时才应返回 True!
谢谢!
我不想告诉你这个,但你想多了——你可以只使用常规的 ==
运算符:
list1_element_1: ['GigabitEthernet0/6/4/1']
list2_element_1: ['GigabitEthernet0/6/4/1.100']
list3_element_1: ['GigabitEthernet0/6/4/1']
print(list1_element_1 == list2_element_1) # False
print(list1_element_1 == list3_element_1) # True
对于字符串,==
运算符 returns True
如果它们完全匹配。对于列表,它 returns True
如果长度相同并且相应的元素完全匹配(.__eq__()
方法用于此比较,如果您尝试比较自定义 类 - 所有 built-in 类 都实现了他们的平等概念)。所以如果你有一个字符串列表,你可以测试它是否等于另一个字符串列表:
print(['str1', 'str2', 'str3'] == ['str1', 'str2', 'str3']) # True
print(['str1', 'str2', 'str3'] == ['str1', 'str3', 'str2']) # False
只需使用:
def find_word(text, search):
return text == search
我正在尝试比较 python 中的两个列表元素。如果两个元素完全匹配,则返回true,否则返回false。
元素如下所示:
list1_element_1: ['GigabitEthernet0/6/4/1']
list2_element_1: ['GigabitEthernet0/6/4/1.100']
我尝试了多种比较这两个元素的方法,包括正则表达式。 下面是我用来比较元素的函数:
def find_word(text,search):
result = re.findall('\b'+search+'\b', text)
if len(result)>0:
return True
else:
return False
预期结果:
find_word('GigabitEthernet0/6/4/1.100','GigabitEthernet0/6/4/1') FALSE
实际结果:
find_word('GigabitEthernet0/6/4/1.100','GigabitEthernet0/6/4/1') TRUE, because 'GigabitEthernet0/6/4/1' is existing in element 'GigabitEthernet0/6/4/1.100', I guess?
只有当两个列表元素完全相同时才应返回 True!
谢谢!
我不想告诉你这个,但你想多了——你可以只使用常规的 ==
运算符:
list1_element_1: ['GigabitEthernet0/6/4/1']
list2_element_1: ['GigabitEthernet0/6/4/1.100']
list3_element_1: ['GigabitEthernet0/6/4/1']
print(list1_element_1 == list2_element_1) # False
print(list1_element_1 == list3_element_1) # True
对于字符串,==
运算符 returns True
如果它们完全匹配。对于列表,它 returns True
如果长度相同并且相应的元素完全匹配(.__eq__()
方法用于此比较,如果您尝试比较自定义 类 - 所有 built-in 类 都实现了他们的平等概念)。所以如果你有一个字符串列表,你可以测试它是否等于另一个字符串列表:
print(['str1', 'str2', 'str3'] == ['str1', 'str2', 'str3']) # True
print(['str1', 'str2', 'str3'] == ['str1', 'str3', 'str2']) # False
只需使用:
def find_word(text, search):
return text == search