python 筛选序列中的元素

列表生成式

a = [1, 2, 3, 4, -1, -2]
b = [i for i in a if a > 0]

如果数据量很大,会产生一个庞大的结果。这时可以用生成器表达式:

b = (i for i in a if a > 0)

如果筛选的过程中涉及一些复杂的细节,可以使用内建的 filter() 函数:

values = ['1', '2', '3', 'N/A', '-', 5]

def is_int(val):
    try:
        x = int(val)
        return True
    except ValueErroe:
        return False


ivals = list(filter(is_int, values))

猜你喜欢

转载自www.cnblogs.com/BeautifulWorld/p/11707196.html
今日推荐