Python:如果任意元素在任意列表中,则返回布尔值

d0r*_*ife 3 python boolean element list match

Noob想知道如何改进他的代码.

a, b, c = string.split(enteredDate, "/")

m31s = [1, 3, 5, 7, 8, 10, 12]
m30s = [4, 6, 9, 11]

for x in range(len(m31s)):
    x = int(m31s[x])
    if x != int(a) and b != 31:
         print "Invalid date."
for x in range(len(m30s)):
    et cetera...
Run Code Online (Sandbox Code Playgroud)

如果不清楚,我正在测试输入的日期,看它是否有效.这只是该计划的一部分.主要问题是:测试元素是否与列表中的任何元素匹配的最佳方法什么?

我的方法有效...但是,我怀疑有更好的方法来做到这一点.我在标题中说布尔值,因为我想象的是:

if secretCode(m31s, int(a)) == True:
Run Code Online (Sandbox Code Playgroud)

可能是一个白日梦.只是好奇.

感谢任何花时间提供帮助的人.

Mat*_*ams 6

您可以使用语法if elem in list.例如:

>>> if 1 in [1,2,3,4,5]:
...     print 'found 1'
... 
found 1
Run Code Online (Sandbox Code Playgroud)