用python简化条件

用python简化条件,python,if-statement,syntax,Python,If Statement,Syntax,我需要在特定条件下检查列表的不同元素,但脚本阅读起来确实很痛苦,因此我需要一些可以简化这一混乱的东西: if element[0] != "]" and element[0] != "[" and element[0] != "*" and element[0] != "."element[0] != "," and element[0] != "-": tmp.append(element[0]) 有没有办法使它更容易,条件更少?我还要补充其他条件 if no

我需要在特定条件下检查列表的不同元素,但脚本阅读起来确实很痛苦,因此我需要一些可以简化这一混乱的东西:

if element[0] != "]" and element[0] != "[" and element[0] != "*" and element[0] != "."element[0] != "," and element[0] != "-":
                tmp.append(element[0])
有没有办法使它更容易,条件更少?我还要补充其他条件

if not element[0] in ["]", "[", "*", ".", "," ,"-"]:
                ttmp.append(element[0])

假设
len(元素[0])<2
,只需询问该元素是否不在包含要筛选出的字符的字符串中:

if element[0] not in '][*.,-':
    tmp.append(element[0])
但是,如果
元素[0]
的长度大于1,则应使用不同的方法:

if all(element[0] != c for c in '][*.,-'):
    tmp.append(element[0])

如果元素[0]不在[…]中
?尝试使用它会告诉您代码中的问题。或者如果元素[0]不在“[]*”中,则只使用
,-”
:PEP8建议
如果元素[0]不在
if all(element[0] != c for c in '][*.,-'):
    tmp.append(element[0])