python - 在 for 循环中使用 if...else 返回一个字符串

标签 python python-3.x for-loop

所以我在这里尝试将字符串 ' ABcsad f!,' 转换为
字符串 'abcsadf', 所以基本上我正在尝试将空格和非 alpha 替换为 '' 但是我的代码根本不起作用...

s = ' ABcsad f!,'

def norm(s):
    b=''
    i=0
    for i in range(0,len(s)+1):
        if (s[i].isalpha() is False) or (s[i].isspace() is False) :
            return b+=''
        else:
            return b+=s[i]
        i = i+1   

print(norm(s))

谁能告诉我哪里出错了?

最佳答案

试试这个:

s = ' ABcsad f!,'
def norm(s):
    return ''.join(i for i in s.lower() if i.isalpha())
print(norm(s))

输出:

'abcsadf'

关于python - 在 for 循环中使用 if...else 返回一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57848524/

相关文章:

c++ - 基于范围的for循环将对象 move 到另一个容器中?

python - 在 python 中定位时间序列的前五个回撤

layout - 如何在 Kivy 中获取小部件/布局的实际大小?

python - psutil 中的 cpu-percent 为每个进程返回 0.0

Python从文本文件列表中删除目录中的文件

arrays - 迭代数组并将元素添加到 Swift 2.2 中的空字典

python - 如何为 PySpark 数据框创建 seaborn 线图?

python - Python 中的字母顺序

python - PyQt4 类之间的信号传递

java - 损坏的 for 循环返回 4 个结果而不是 2 个