📅  最后修改于: 2023-12-03 15:09:19.374000             🧑  作者: Mango
在 Python 中,我们可以使用 in
关键字来判断一个元素是否在一个列表或者字符串中。对于字符串和列表来说,in
的使用方式是一致的。
下面是一个例子:
my_list = ['apple', 'banana', 'cherry']
if 'apple' in my_list:
print('Yes, "apple" is in the list')
输出: Yes, "apple" is in the list
但是,有一点需要注意。如果我们要判断一个字符串是否在另一个字符串中,不能使用 in
。比如,下面这个例子:
my_string = 'Hello, World!'
if 'Hello' in my_string:
print('Yes, "Hello" is in the string')
输出:Yes, "Hello" is in the string
但是,如果我们使用类似的方式判断 'World'
是否在 my_string
中,就会出现问题:
my_string = 'Hello, World!'
if 'World' in my_string:
print('Yes, "World" is in the string')
输出:没有输出任何内容
这是因为 'World'
中包含了一个单引号,而字符串 my_string
内部是使用双引号包裹的。因此,解释器会把 'World'
理解成一个单独的变量名,而不是一个字符串。
解决办法很简单,只需要用双引号来包裹 'World'
就可以了:
my_string = 'Hello, World!'
if "World" in my_string:
print('Yes, "World" is in the string')
输出:Yes, "World" is in the string
那么我们要在一个数组中查找一个字符串,该怎么做呢?其实和上面的例子差不多。
假设我们有一个数组:
my_array = ['apple', 'banana', 'cherry']
然后我们要查找 'banana'
是否在这个数组中,只需要这样:
if 'banana' in my_array:
print('Yes, "banana" is in the array')
输出:Yes, "banana" is in the array
如果要查找的字符串不在数组中,就不会有任何输出。
if 'pear' in my_array:
print('Yes, "pear" is in the array')
没有输出任何内容。
注意:在 Python 中,只有列表(list)和元组(tuple)可以使用 in
来进行查找。其他的数据类型,比如字典(dict)和集合(set)则不行。