Python: 序列: 过滤序列元素】的更多相关文章

问题: 你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列 answer: eg1:列表推导 最简单的过滤序列元素的方法就是使用列表推导.比如:>>> mylist = [1, 4, -5, 10, -7, 2, 3, -1]>>> [n for n in mylist if n > 0][1, 4, 10, 2, 3]>>> [n for n in mylist if n < 0][-5, -7, -1] eg2:生成器表达…
问题:怎样在Python的一个序列上面保持元素顺序的同时消除重复的值?answer:如果序列上的值都是hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题. eg1: def dedupe(items): seen = set() for item in items: if item not in seen: yield item seen.add(item) 下面是使用上述函数的例子: >>> a = [1, 5, 2, 1, 9, 1, 5, 10] >&g…
enumerate 函数用于遍历序列中的元素以及它们的下标 for i,v in enumerate(['tic','tac','toe']): print i,v #0 tic #1 tac #2 toe for i,j in enumerate(('a','b','c')): print i,j #0 a #1 b #2 c for i,j in enumerate({'a':1,'b':2}): print i,j #0 a #1 b 遍历字典的key和value knights={'ga…
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…
一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类).相比而言,字符串 仅仅是字符的序列,因此列表的概念和用途比字符串更广泛. 元组(tuple)也是 Python对象 的序列,与列表非常接近.二者的主要差异点如下: 差异点 列表 元组 表示方法 空列表:[] 单元素列表:[1] 多元素列表[1, 'a'] 空元组:() 单元素元组:(1,) 多元素…
''' Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素. ''' # 如,在一个list中,删掉偶数,只保留奇数,可以这么写: def is_odd(n): return n % 2 == 1 list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])) # 结果:…
序列是指有序的队列,重点在"有序". 一.Python中序列的分类 Python中的序列主要以下几种类型: 3种基本序列类型(Basic Sequence Types):list.tuple.range 专门处理文本的附加序列类型(Text Sequence Types):str 专门处理二进制数据的附加序列类型(Binary Sequence Types): bytes.bytearray.memoryview 按照序列是否可被改变分类: 可变序列: list 不可变序列:tuple…
序列概览 在Python中有六种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.在这里暂时只讨论列表和元组.列表和元组的主要区别在于:列表可以修改,元组(不可变)不能. 1. 通用序列操作 所有的序列都可以进行某些特定的操作.这些操作包括: 索引(indexing) 分片(sliceing) 加(adding) 乘(multiplying) 检查某个元素是否属于这序列(index) 计算序列长度(len) 找出最大元素和最小元素(min/max) 1.1…
一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. 从后向前,最后一个索引是-1,-2,.... python包含6种内建序列.最常用的两种类:列表和元组,其它内奸序列类型有字符串.Unicode字符串.buffer对象和xrange对象. 列表和元组的主要区别在于,列表可以修改,元组不能修改. 添加元素就用列表. 由于 一些原因不能修改时就用元组.…
class filter(object): """ filter(function or None, iterable) --> filter object Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true. """…