检查列表中的值是否为

时间:2018-05-28 11:30:33

标签: python

我正在尝试检查列表中是否包含字符串元素。

代码:

if('a' in ['notin']):
    print('test')

不打印值,这是有意义的。

代码:

if('a' or 'b' or 'c' in ['notin']):
    print('test')

打印test。为什么“{test”打印为abc不在notin

我没有正确实现这个条件?

这不是一个重复的问题,因为基于阅读我写的评论的解决方案是独一无二的:

if any (t in ['a' , 'b' , 'c'] for t in ['a' , 'b']) :
    print('in list')

if not any (t in ['a' , 'b' , 'c'] for t in ['d' , 'e']) :
    print('not in list')

1 个答案:

答案 0 :(得分:-1)

您获得test显示的原因是评估被视为

((('c' in 'notin') or 'b') or 'a')
((( FALSE ) or TRUE ) or TRUE )

if ('b'):
    print ('test')

评估为' TRUE'并打印'测试'你的样本也是如此。简短的回答是肯定的,你错误地实施了条件。