在python中,如何确定字符串是否包含除其他列表中的字符以外的任何字符
我有一个字符列表:在python中,如何确定字符串是否包含除其他列表中的字符以外的任何字符,python,regex,pandas,contains,Python,Regex,Pandas,Contains,我有一个字符列表: example_list = ['a','b','c','1','2','3'] 我迭代地运行pandas数据框中的一列,并评估是否有“关闭”的内容。让我们调用我正在运行的列/列表值。我正在查看的一个值示例: value1 = ['a12'] value2 = ['d88'] value3 = ['b33'] 值1和3是正确的,因为它们仅由示例_列表中的元素组成。我希望将value2标记为False,将像1和3这样的值标记为True 我所尝试的: not any(x in
example_list = ['a','b','c','1','2','3']
我迭代地运行pandas数据框中的一列,并评估是否有“关闭”的内容。让我们调用我正在运行的列/列表值。我正在查看的一个值示例:
value1 = ['a12']
value2 = ['d88']
value3 = ['b33']
值1和3是正确的,因为它们仅由示例_列表中的元素组成。我希望将value2标记为False,将像1和3这样的值标记为True
我所尝试的:
not any(x in example_list for x in value)
这似乎总是回到了现实。使用all()方法将查看是否所有内容都在其中,any()将查找其中是否有任何内容,是吗?我正在寻找一种“x以外的任何东西”的方法。我是python新手,所以我想这是一个“我不知道,我不知道什么”的例子,有人有什么建议吗?谢谢 如果我理解正确,每一行都包含一个包含单个元素的列表:
df = pd.DataFrame({'value': [['a12'], ['d88'], ['b33']]})
example_list = ['a','b','c','1','2','3']
print(df)
value
0 [a12]
1 [d88]
2 [b33]
然后您可以使用列表:
df['check'] = [True if set(x[0]).issubset(set(example_list)) else False for x in df['value']]
我们正在检查第一个元素的集合(在您的例子中是单个值)是否是示例列表集合的子集,并返回True。当条件不满足时,返回False
输出:
value check
0 [a12] True
1 [d88] False
2 [b33] True
如果不是您的意思,请告诉我,或者提供一些简单的输入作为数据帧。您的
值是字符串列表。这意味着,在每种情况下,您都要检查完整字符串(如“a12”)是否包含在单个字符列表中,这永远不会是真的
s = pd.Series(["a12", "d88", "b33"])
l = "".join(example_list)
>>> s
0 a12
1 d88
2 b33
dtype: object
>>> l
'abc123'
>>> s.apply(set(l).issuperset)
0 True
1 False
2 True
dtype: bool
如果不想更改值
,可以为第一个字符串编制索引,然后迭代该字符串的字母:
all(x in example_list for x in value1[0]) # => True
all(x in example_list for x in value2[0]) # => False
all(x in example_list for x in value3[0]) # => True
以下是一个有效的解决方案,包括您开始的内容:
example_list = ['a', 'b', 'c', '1', '2', '3']
value1 = ['a12']
value2 = ['d87']
value3 = ['b33']
result=all(list(map(lambda x : True if x in example_list else False, *value2)))
print(result)
*value2与列表内容一起使用,因此它是一个字符串
*all用于测试每个字符是否属于示例列表我认为您需要all
而不是any
问题在于您创建了列表(用于值),因此您可以检查给定字符串“a12”是否在示例列表中,并且每次都失败。所以否定的any将返回true。我想你想把列表改成字符串(去掉括号)你想的全是错的。用文字思考:对于目标字符串中的所有字符,字符是否在列表中<代码>确定=全部(示例中的c为值1中的c的列表)