从元组中删除任何不是int的东西

时间:2015-02-03 14:44:50

标签: python python-2.7

所以例如我得到了一个

a = 1, 4, "a", 3, "bcd", 4,
>>> a
(1, 4, 'a', 3, 'bcd', 4)

我希望它成为

>>> a
(1, 4, 3, 4)

我该怎么做?

我正在使用python 2.7

1 个答案:

答案 0 :(得分:3)

你必须制作一个新的元组。您可以使用generator expressiontuple()来制作它:

a = tuple(v for v in a if isinstance(v, int))

这会在isinstance() test上过滤,以查看该值是否为整数。

演示:

>>> a = (1, 4, 'a', 3, 'bcd', 4)
>>> tuple(v for v in a if isinstance(v, int))
(1, 4, 3, 4)