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))

原文地址:https://www.cnblogs.com/BeautifulWorld/p/11707196.html

时间: 2024-11-09 05:48:27

python 筛选序列中的元素的相关文章

【python cookbook】【数据结构与算法】16.筛选序列中的元素

问题:提取出序列中的值或者根据某些标准对序列做删减 解决方案:列表推导式.生成器表达式.使用内建的filter()函数 1.列表推导式方法:存在一个潜在的缺点,如果输入数据非常大可能会产生一个庞大的结果,考虑到该问题,建议选择生成器表达式 # Examples of different ways to filter data mylist = [1, 4, -5, 10, -7, 2, 3, -1] print('mylist=',mylist) # 使用列表推导式 pos = [n for n

python中的enumerate函数用于遍历序列中的元素以及它们的下标

enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a1 b2 c>>> for i,j in enumerate([1,2,3]): print i,j 0 11 22 3>>> for i,j in enumerate({'a':1,'b':2}):    #注意字典,只返回KEY值!! print i,j 0 a1 b >&g

38 py改变函数参数的值关键字参数和参数默认值函数中可变参数将序列中的元素值作为函数对应的参数值传

第五课:改变函数参数的值 一个python函数可以有任意多个参数,在一个函数的外部来定义变量,然后把变量作为参数传入到函数内,并且在函数的内部来修改函数的参数值,函数结束之后,这些变量的值在如何变化呢? 给函数传递值有2种:1种是值传递,1种是引用传递 # 改变函数参数的值 # 值传递(数值.字符串.布尔 这些都是值传递) 在函数的内部修改变量值,不改变原参数定义的参数值,解释为: 这个在函数中不会改变原来定义(函数外部)的值 这是因为函数里面会有一个占的概念,外边的变量的值会复制给 占 里面,

使有序序列中每个元素最多出现2次的几种算法实现

问题描述(来源:leetcode--Remove Duplicates from Sorted Array II) 对于一个给定的已排序序列,要求实现一个算法:使序列中同一元素出现的次数不超过2次,对超过2次的同一元素直接删除,例如: 输入:给定序列A={1,1,1,2,2,3} 输出:要求返回length =5,A变为{1,1,2,2,3} 一.实现1 1.方式:该实现使用计数count,比较直观,而较容易想到,且扩展性较好,如果想将条件改为:最多出现n次,只需将条件count!=2改为cou

python 删除list中重复元素

list = [1,1,3,4,6,3,7] 1. for s in list: if list.count(s) >1: list.remove(s) 2. list2=[] for s in list: if s not in list2: list2.append(s) print list2 3. list2=[] for s in list: list2.append(s) print list2 python 删除list中重复元素

python 统计list中各个元素出现的次数

python 统计list中各个元素出现的次数利用Python字典统计利用Python的collection包下Counter的类统计利用Python的pandas包下的value_counts的类统计利用字典dict来完成统计举例: a = [1, 2, 3, 1, 1, 2]dict = {}for key in a: dict[key] = dict.get(key, 0) + 1print dict12345输出结果: >>>{1: 3, 2: 2, 3: 1}1利用Python

Python对列表中字典元素排序

问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]}' b = '{"ROAD": [{"name": "no1"}, {"id": 123}]}' 特点:a,b对应的Python的对象中键对应的键值——列表中包含着相同的字典元素,但是唯一不同的是顺序不同.如果忽略顺序,如何判断两

北京Python筛选过程中应注意什么

计算机初级爱好者普遍喜欢Python,因为Python干净利索,简单直接.它编写代码的速度非常的快,而且非常注重代码的可读性,非常适合多人参与的项目.很多人选择了培训,那么北京Python培训筛选过程中应注意什么? 第一点:虽然不靠谱的机构很多,但不能说没有.还是那句话,主要还是得看自己,不努力,在哪都学不会.无论是学哪门语言,基础知识非常重要.因此,找有丰富编程经验的老师带着你会少走很多弯路,你的进步速度也会快很多. 第二点:很多培训机构,无论是英语.IT.金融等行业,都是为就业提高自己的职业

用python统计list中各元素出现的次数(同理统计字符串中各字符出现的次数)

统计list中各元素出现的次数,下面的方法也适用于统计字符串中各字符出现的次数 1.用字典的形式来处理 a = "abhcjdjje" a_dict = {}for i in a: a_dict[i] = a.count(i)print(a_dict) 2.用count函数直接打印出来 L = [2,4,5,6,2,6,0,4] for i in L: print("%d的次数:%d"%(i,L.count(i))) 3.用collections的Counter函数