Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从python中的字符串中提取由特定字符组成的子字符串?_Python_String_Python 3.x - Fatal编程技术网

如何从python中的字符串中提取由特定字符组成的子字符串?

如何从python中的字符串中提取由特定字符组成的子字符串?,python,string,python-3.x,Python,String,Python 3.x,比如说,, 假设我有一根绳子。 我想提取一个子串,它只由'b'和'a'组成 那是巴布 我通过实现一个嵌套循环并删除除“b”和“a”之外的所有字符,应用了蛮力。您可以使用简单的列表理解来实现这一点 a = "beabeefeab" print("".join([i for i in a if (i == 'a' or i =='b')])) 输出: 不是很优雅,但很管用 a = "beabeefeab" answer = "" for char in a: if char == "a"

比如说,, 假设我有一根绳子。 我想提取一个子串,它只由'b'和'a'组成 那是巴布


我通过实现一个嵌套循环并删除除“b”和“a”之外的所有字符,应用了蛮力。您可以使用简单的列表理解来实现这一点

a = "beabeefeab"
print("".join([i for i in a if (i == 'a' or i =='b')]))
输出:


不是很优雅,但很管用

a = "beabeefeab"
answer = ""
for char in a:
    if char == "a" or char == "b":
        answer += char

print(answer)
输出

使用集合保留允许的字符,使其更具可扩展性:

s = "beabeefeab"
allowed = set('ab')
print("".join(x for x in s if x in allowed))

您已经描述了您的问题,但没有演示解决问题的任何尝试。您尝试了哪些不起作用的方法?我通过删除除“b”和“a”之外的所有字符来实现嵌套循环,从而应用了蛮力。请您跟踪或解释此循环的工作原理。@Himanshupodar与Rakesh的相同,除了我不是针对单个字符进行显式过滤,而是针对集合中的成员身份进行过滤。
babab
s = "beabeefeab"
allowed = set('ab')
print("".join(x for x in s if x in allowed))