Python集删除非数字值

时间:2018-03-22 20:13:11

标签: python python-2.7

我设置了如下值:

set(['Virtual', '120', 'P', '130', '90', '250', '100', '10', 'Mar', 'indicates', '18', '50', '40', '1', '|'])

如何删除所有非数字值?

预期输出:

set(['120', '130', '90', '250', '100', '10','18',  '50', '40', '1'])

2 个答案:

答案 0 :(得分:1)

您可以创建一个新集:

number_set = set()
for object in old_set:
    try: 
        number_set.add(int(object))
    except ValueError:
        print("Not a number")
print(number_set)

您也可以尝试从集合中删除所有非数字对象:

for object in old_set:
    try:
        x = int(object)
    execpt ValueError:
        old_set.remove(object)

答案 1 :(得分:0)

您可以使用filter清理套装:

{'18', '90', '130', '120', '40', '50', '10', '1', '100', '250'}

输出:

{{1}}

这个输出与你想要的不同 - 但这就是python如何用print打印一个集合。