python-3.x - 如何从列表中删除字母数字字符并将它们拆分为结果?
问题描述
'''def tokenize(s):
string = s.lower().split()
getVals = list([val for val in s if val.isalnum()])
result = "".join(getVals)
print (result)'''
tokenize('AKKK@eastern B!@#est!')
我正在尝试('akkkeastern','best')的输出
但我对上述代码的输出是 - AKKKeasternBest 我应该做出哪些改变
解决方案
使用列表推导是从字符串等序列中过滤元素的好方法。在下面的示例中,列表推导式用于构建一个字符列表(字符在 Python 中也是字符串),这些字符可以是字母数字或空格 - 我们保留周围的空间以供稍后用于拆分列表。创建过滤列表后,剩下要做的就是使用它制作一个字符串join
,最后但并非最不重要split
的是,在空格处将其分成两部分。
例子:
string = 'AKKK@eastern B!@#est!'
# Removes non-alpha chars, but preserves space
filtered = [
char.lower()
for char in string
if char.isalnum() or char == " "
]
# String-ifies filtered list, and splits on space
result = "".join(filtered).split()
print(result)
输出:
['akkkeastern', 'best']
推荐阅读
- azure-form-recognizer - 使用 AKS 注册和部署表单识别器生成的模型
- javascript - 通过将安全视图分配给角色并提供针对多个条件的过滤器,在 Snowflake 上实现行级安全性 (RLS)
- python - 将 github 数据库添加到 Django 项目
- python - 从需求文件安装时出错
- docker - 是否可以扩展 pod 以应对 Kubernetes 中的高流量?
- mysql - 编写一个查询以显示从学生那里获得的最高平均值。给一个别名为 avg_mark。将结果四舍五入到小数点后 2 位
- visual-studio-code - VS Code SSH 密码提示被本机警报消息阻止
- c++ - 在 C++ 中调用模板化 lambda 的最短方法
- android - 我正在开发一个列出外部存储中所有目录的应用程序,但我不断收到错误消息
- python - 通过安装了 python 的终端在 macOS 上运行 Keras?