Python 将值与列表匹配
我有两个变量,如下所示。目标是检查baseAU变量中的值是否与“out”匹配。最简单的方法是什么?一种方法是将其拆分并放入一个列表中,然后对其进行解析。还有其他简单的方法吗Python 将值与列表匹配,python,Python,我有两个变量,如下所示。目标是检查baseAU变量中的值是否与“out”匹配。最简单的方法是什么?一种方法是将其拆分并放入一个列表中,然后对其进行解析。还有其他简单的方法吗 baseAU = "AU_LINUX_ANDROID_test.04.02.01.40.144" out= " AU_LINUX_ANDROID_test.04.02.01.40.134 AU_LINUX_ANDROID_test.04.02.01.40.135 AU_LINUX_ANDROID_test.04.02.01
baseAU = "AU_LINUX_ANDROID_test.04.02.01.40.144"
out=
"
AU_LINUX_ANDROID_test.04.02.01.40.134
AU_LINUX_ANDROID_test.04.02.01.40.135
AU_LINUX_ANDROID_test.04.02.01.40.136
AU_LINUX_ANDROID_test.04.02.01.40.137
AU_LINUX_ANDROID_test.04.02.01.40.138
AU_LINUX_ANDROID_test.04.02.01.40.139
AU_LINUX_ANDROID_test.04.02.01.40.140
AU_LINUX_ANDROID_test.04.02.01.40.141
AU_LINUX_ANDROID_test.04.02.01.40.142
AU_LINUX_ANDROID_test.04.02.01.40.143
AU_LINUX_ANDROID_test.04.02.01.40.144
AU_LINUX_ANDROID_test.04.02.01.40.145
AU_LINUX_ANDROID_dev.04.02.01.49.106
AU_LINUX_ANDROID_dev.04.02.01.49.107
AU_LINUX_ANDROID_dev.04.02.01.49.108
AU_LINUX_ANDROID_dev.04.02.01.49.109
AU_LINUX_ANDROID_dev.04.02.01.49.110
AU_LINUX_ANDROID_dev.04.02.01.49.111
AU_LINUX_ANDROID_dev.04.02.01.49.112
AU_LINUX_ANDROID_dev.04.02.01.49.113
AU_LINUX_ANDROID_dev.04.02.01.49.114
AU_LINUX_ANDROID_dev.04.02.01.49.115
AU_LINUX_ANDROID_dev.04.02.01.49.116
AU_LINUX_ANDROID_dev.04.02.01.49.117
AU_LINUX_ANDROID_dev.04.02.01.49.118
"
将字符串拆分为一个列表:
baseAU in out.split()
一种方法是在
if baseAU in out:
print "Have match"
一种更方便的方法是将out
变量分解为多个集合,并使用setin
操作符。这应该更有效率
s = set(out.split())
if baseAU in s:
print "Have match"
将字符串与行匹配的简单方法:
if "%s\n" % baseAU in out:
print "Match"
AU_LINUX_ANDROID_test.04.02.01.40.14与AU_LINUX_ANDROID_test.04.02.01.40.144不匹配您是否尝试过
baseAU in out
?是的,但也与AU LINUX_ANDROID_test.04.02.01.40.14匹配(注意它实际上是AU_LINUX_ANDROID_test.04.02.01.40.144)如果换行以\r
开头,则会中断,Windows和较旧的Mac操作系统就是这样。如果您需要检查多个值的输入输出,这不是更有效吗?在我看来,如果只检查一次单个值,那么创建集合(如果不需要,则按行分割)的开销总体上会更高。