繁体   English   中英

将列表中的字母与列表python中的字符串进行比较

[英]Comparing letters in list with string in a list python

我有一个清单可以说:

DIRECTION_LETTERS = ['u','d','r','l','w','x','y','z']

现在,我的另一个参数就像争论,我写道

udl并返回['udl']

因此,让我们说另一个列表arg_list = ['udl']

我想检查u和d和l是否在此列表中,或者我想检查arg列表中我的方向字母列表中是否没有字母以使其显示错误消息msg,我已经尝试过:

    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

Python中有一个方便的函数,称为all() ,如果所有参数均为true,则返回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

这条线

if letter in arg_list[4][0]:

需要是

if char in DIRECTION_LETTERS:

并且您需要删除for letter in DIRECTION_LETTERS:的行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM