python - Python 字符串和变量格式验证
问题描述
我有一个清单:
data = ["data 01", "data 02", "data 03"]
我想检查列表中的每个元素是否包含字符串“数据”,并将数据后面的文本(例如 01、02、03)添加到另一个列表中。下面是我的代码,但我发现它效率低下。
data_2 = []
for item in data:
if ("data" in item):
data_2.append(item.replace("data", "").strip())
有没有办法检查
if item == "data {}"
其中 {} 是一个数值变量。作为预防措施,在数据列表中有一个项目,如 ["no data"],其中字符串 "no" 被错误地添加了?
解决方案
您可以使用列表推导:
data = ["data 01", "data 02", "data 03"]
d = [s.split('data ',1)[1] for s in data if 'data' in s and s.split('data ',1)[1].isdigit()]
print(d)
输出:
['01', '02', '03']
推荐阅读
- rust - 函数返回不可变引用,但借用检查器不这么认为
- linux - 从安装了 `docker.sock` 的 docker 容器中查找主机上的开放端口
- android - 如何更改我使用 SNAP 安装的 Android Studio 的超级用户设置
- node.js - 如何配置 Nginx 和 Node 以使用 SSL?
- python - 在另一列中创建基于 INT 的 N 行
- c - 军用时间和标准时间逻辑有效,但时间指示器字符串不起作用
- winapi - MFC:Ctrl-Shift 的加速器不起作用?
- java - 在 Red Hat EAP 7.3 上找不到命名的 JMS 队列
- javascript - puppeteer / chromium:生成 pdf 不同的 div 高度
- sql-server - SSIS在两个表之间复制很慢