如何使用python从列表中删除不需要的元素

夏姆

我有一个输入列表:

list_1 = ['29','560001','08067739333','560037002','29AAACC0462F1Z0','55XX1XXX19','07S23X09','98561XXX1X9']

我试过了:

output_list = [i for i in list_1 if 'X' in i or i.isnumeric()==True]

给出带有错误的额外元素“ 07S23X09”:

output_list = ['29','560001','08067739333','560037002','55XX1XXX19','07S23X09','98561XXX1X9']

预期的输出是带有数字的列表以及带有数字和特定字符X的元素,否则应丢弃其他元素:

output_list = ['29','560001','08067739333','560037002','55XX1XXX19','98561XXX1X9']
维克多·史翠比维

您可以使用

import re
list_1 = ['29','560001','08067739333','560037002','29AAACC0462F1Z0','55XX1XXX19','07S23X09','98561XXX1X9']
rx = re.compile('[0-9X]+')
print ( [x for x in list_1 if rx.fullmatch(x)] )
# => ['29', '560001', '08067739333', '560037002', '55XX1XXX19', '98561XXX1X9']

请参阅Python演示

使用re.fullmatch('[0-9X]+', x),您只保留完全由数字或X字符组成的项目

^[0-9X]+$正则表达式演示

注意:如果字符串中必须至少包含一位数字,即,如果您想失败并因此丢弃所有Just项,则XXX可以使用

^X*[0-9][0-9X]*$

或者,^(?=X*[0-9])[0-9X]+$请参阅regex演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从元素中删除不需要的类

如何从此JSON数组中删除不需要的元素?

使用BeautifulSoup在Python中删除不需要的标签

如何使用JAXB从XML删除不需要的根元素?

使用python在csv中删除不需要的行

如何从git add列表中删除不需要的文件(数量为100)

如何根据项目或说明列表删除数据框中不需要的行

从嵌套列表中删除不需要的文本

通过for循环从列表中删除不需要的字符

Python如何在包含列表作为元素的数据框中删除不需要的逗号

使用Python从图像中删除不需要的连接像素

如何在python中删除不需要的字符

删除python webscaping循环结果中不需要的元素

使用xslt删除不需要的嵌套元素

从数组中删除不需要的元素

如何在具有高级窗口列表的irssi中删除多余的(不需要的)阻止项?

如何从jQuery中的段落中删除不需要的元素

PHP-从数组中删除不需要的元素

Racket \ Scheme比较并删除列表中不需要的项目

Python剥离列表以删除不需要的字符

从数组尾部删除不需要的元素?

需要删除不需要的空间元素

Python 从匹配列表的定义路径中删除不需要的 Dirs

如何从打印列表中删除不需要的项目?

PHP 用于参考所需元素列表从多维数组中删除不需要的元素

如何从python图中删除不需要的线条?

如何从 XElements 列表中删除不需要的节点?

如何从python中的csv中删除不需要的行?

如何从python列表中删除/排除不需要的对象