列表中的元素组成

时间:2014-10-22 13:21:36

标签: python list-comprehension

s = ['dog','cat','horse, cat, pig','horse, giraffe, dog']
x = 'giraffe'
if x in s:
    print('1')
else:
    print('0')

得到0。如果我只输入元素包含的一部分,我怎么能让它返回1?

2 个答案:

答案 0 :(得分:3)

这可能有效

for element in s:
    if x in element: 
        print('1')
        break
else: 
   print('0')

答案 1 :(得分:2)

尝试:

if x in ', '.join(s).split(', '):
# ', '.join(s) returns:
# 'dog, cat, horse, cat, pig, horse, giraffe, dog' (a string)
#
# .split(', ') returns:
# ['dog', 'cat', 'horse', 'cat', 'pig', 'horse', 'giraffe', 'dog']

您的代码没有提供您想要的内容,因为s包含:

'horse, giraffe, dog'

作为字符串,所以

giraffe in ['dog', 'cat', 'horse, giraffe, dog']

将返回False