首页 > 解决方案 > Python从列表中删除常用词

问题描述

我需要从列表中删除常用词。需要删除的词是IPNetwork

IP_list = [IPNetwork('10.60.252.0/23'),
 IPNetwork('10.60.254.0/23'),
 IPNetwork('10.208.0.0/15'),
 IPNetwork('10.208.64.80/28'),
 IPNetwork('10.208.152.0/24'),
 IPNetwork('10.208.153.0/24'),
 IPNetwork('10.208.154.0/24'),
 IPNetwork('10.208.155.128/25'),
 IPNetwork('10.208.156.0/24')]

预期结果:

['10.60.252.0/23',
 '10.60.254.0/23',
 '10.208.0.0/15',
 '10.208.64.80/28',
 '10.208.152.0/24',
 '10.208.153.0/24',
 '10.208.154.0/24',
 '10.208.155.128/25',
 '10.208.156.0/24']

标签: python

解决方案


IPNetwork是一个类,你正在实例化它的对象。如果您只想要字符串格式的 IP 地址,请将它们显式转换为字符串

用一个map

>>> list(map(str, IP_list))
['10.60.252.0/23', '10.60.254.0/23', '10.208.0.0/15', '10.208.64.80/28', '10.208.152.0/24', '10.208.153.0/24', '10.208.154.0/24', '10.208.155.128/25', '10.208.156.0/24']

或使用列表理解

>>> [str(ip) for ip in IP_list]
['10.60.252.0/23', '10.60.254.0/23', '10.208.0.0/15', '10.208.64.80/28', '10.208.152.0/24', '10.208.153.0/24', '10.208.154.0/24', '10.208.155.128/25', '10.208.156.0/24']

推荐阅读