我有一个列表可以说:
DIRECTION_LETTERS = [' u',' d' ' R' ,' l','' x',' y',' z']
现在我的另一个参数就像争论一样,我写的是
udl并返回[' udl']
所以我们说另一个列表arg_list = [' udl']
我想检查你和d和l是否在这个列表中,或者我想检查arg列表中我的方向字母列表中是否没有字母 使它打印错误消息我试过这个:
for letter in DIRECTION_LETTERS:
for char in arg_list[4]:
if letter in arg_list[4][0]:
continue
else:
print (ERROR_MESSAGE_DIRECTIONS)
return False
return True
答案 0 :(得分:2)
在Python中有一个名为all()
的便捷函数,如果所有参数都为真,则返回true。随意找到一种使用它的好方法,但总的来说:
>>> DIRECTION_LETTERS=['u', 'd' ,'r' , 'l', 'w', 'x', 'y', 'z']
>>>
>>> s="udl"
>>> print(all(c in DIRECTION_LETTERS for c in s))
True
>>> s="udlxa"
>>> print(all(c in DIRECTION_LETTERS for c in s))
False
答案 1 :(得分:0)
这一行
if letter in arg_list[4][0]:
需要
if char in DIRECTION_LETTERS:
,您需要删除行for letter in DIRECTION_LETTERS:
。