我已经写了一些代码,这只是一小段
x = ['apple, iphone','samsung, galaxy','oneplus, 10pro']
print('apple' in x)
由于苹果已经存在于x中,因此如何使该语句为true,所以我仍然保持False作为布尔值。
答案 0 :(得分:4)
将in
运算符应用于此处的列表时,它将在列表中查找完全匹配。您的代码返回假,因为'apple'
不在列表中,'apple, iphone'
在列表中。要检查列表中每个元素的子字符串'apple'
,可以使用列表理解。像这样:
x = ['apple, iphone','samsung, galaxy','oneplus, 10pro']
print(True in ['apple' in s for s in x])
第二行所做的是使用列表理解来构建布尔值列表,以指示子字符串'apple'
是否在该元素中。然后,它检查True
是否在结果列表中。
或不使用in
运算符:
x = ['apple, iphone','samsung, galaxy','oneplus, 10pro']
print(any(['apple' in s for s in x]))
如果可迭代元素中的任何元素为any
,则True
内置函数将返回true。
答案 1 :(得分:0)
x = ['apple, iphone','samsung, galaxy','oneplus, 10pro']
print(True in ('apple' in d for d in x))
答案 2 :(得分:0)
也许使用这样的功能:
IsItemInList(item, list):
for x in list:
if x == item:
return True
return False
当然可以确定有一种更清洁的方法,但这是我的第一个猜测。众所周知,第一个主要是最糟糕的。