如何使用python中的lambdas从不同的字符串中提取所需的字符串列表
我想删除包含“CLIENT”的字符串如何使用python中的lambdas从不同的字符串中提取所需的字符串列表,python,list,list-comprehension,Python,List,List Comprehension,我想删除包含“CLIENT”的字符串 S = [u'BIGSQL_WORKER', u'DATANODE', u'FLUME_HANDLER', u'HBASE_CLIENT', u'HBASE_REGIONSERVER', u'HCAT', u'HDFS_CLIENT', u'HIVE_CLIENT', u'MAPREDUCE2_CLIENT', u'NODEMANAGER', u'OOZIE_CLIENT', u'PIG', u'SLIDER', u'SOLR', u'SPARK_CLIEN
S = [u'BIGSQL_WORKER', u'DATANODE', u'FLUME_HANDLER', u'HBASE_CLIENT', u'HBASE_REGIONSERVER', u'HCAT', u'HDFS_CLIENT', u'HIVE_CLIENT', u'MAPREDUCE2_CLIENT', u'NODEMANAGER', u'OOZIE_CLIENT', u'PIG', u'SLIDER', u'SOLR', u'SPARK_CLIENT', u'SQOOP', u'YARN_CLIENT', u'ZOOKEEPER_CLIENT', u'ZOOKEEPER_SERVER']
我尝试了pass,但没有在lambda内部工作,有什么想法吗?试试,它非常通用,可以用于以下用途:
F = map(lambda x: x if 'CLIENT' not in x else None, S)
F = [u'BIGSQL_WORKER', u'DATANODE', u'FLUME_HANDLER', None, u'HBASE_REGIONSERVER', u'HCAT', None, None, None, u'NODEMANAGER', None, u'PIG', u'SLIDER', u'SOLR', None, u'SQOOP', None, None, u'ZOOKEEPER_SERVER']
试试看,它的用途非常广泛,可用于以下用途:
F = map(lambda x: x if 'CLIENT' not in x else None, S)
F = [u'BIGSQL_WORKER', u'DATANODE', u'FLUME_HANDLER', None, u'HBASE_REGIONSERVER', u'HCAT', None, None, None, u'NODEMANAGER', None, u'PIG', u'SLIDER', u'SOLR', None, u'SQOOP', None, None, u'ZOOKEEPER_SERVER']
列表理解可能是您正在寻找的,但您也可以使用
过滤器
而不是映射:
[s for s in S if 'CLIENT' not in s]
列表理解可能是您正在寻找的,但您也可以使用
过滤器
而不是映射:
[s for s in S if 'CLIENT' not in s]
您需要使用lambdas吗?为什么?你需要使用lambdas吗?为什么?