加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 从列表中删除字符串

发布时间:2020-12-20 12:40:11 所属栏目:Python 来源:网络整理
导读:我有一个包含IP地址和DNS名称的字符串列表,我希望删除以“10”开头的值.只要.样本数据如下: [ ‘www.example.com’,‘1.2.3.4’,‘4.3.2.1’,‘example.net’,‘10.1.1.10’,‘10.1.1.11’,…] 我认为这很简单,并从以下开始: for v in address: test = re.
我有一个包含IP地址和DNS名称的字符串列表,我希望删除以“10”开头的值.只要.样本数据如下:

[ ‘www.example.com’,‘1.2.3.4’,‘4.3.2.1’,‘example.net’,‘10.1.1.10’,‘10.1.1.11’,…]

我认为这很简单,并从以下开始:

for v in address:   
    test = re.match('(^d+.)',v)
    if test:
        if test.group(1) == '10.':
            address.remove(v)

“10”虽然我没有收到任何错误,但是没有删除地址(并且使用“print address.remove(v)”进行了一些t-shooting,导致每个“10.”地址都为“无”.让我相信正则表达式是错了但似乎除了这个能力之外还有效.

所以我用re.purge()戳了一下 – 这也没有帮助,但不认为这是我问题的一个因素.我也尝试使用del地址[…]无济于事.

我哪里出错了?

非常感谢您的关注.

解决方法

简单的方法是使用列表推导:

filtered = [ v for v in address if not v.startswith('10.') ]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读