python列表的函数 python列表的函数与方法( 二 )


有时候我们想使用列表的前10个元素,或者前n个元素,这时候就应该使用列表的切片 。
切片和索引类似,都是使用中括号,区别是,索引中的中括号里面只有一个数,而切片不同 。切片是切割列表 , 形成切割下来的部分形成新的列表 。
切片: list[start:end:[step=1]]  , 这就是切片的表达式,要求start和end两者必须有一个,step不是可以不指定,不指定的时候默认为1 。
【python列表的函数 python列表的函数与方法】 切片该怎么理解呢,start就是开始的位置,end就是结束的位置 。切片有个特点是“取前不取后”,看上面那个例子可以发现,1作为start,3作为end,1代表第二个元素 , 3代表第四个元素 , 列表切片的时候 , 是不取后面的那个数字对应的元素的,也就是不取第四个元素,所以names[1:3]只取了第二个元素和第三个元素,这就是所谓的取前不取后 。
再看下一个例子 。
当不指定start或者end的时候,start默认为0,end默认为最后一个元素的索引值+1,因为“取前不取后”,要想取到最后一个元素 , 必须加个1才行 。
上例中,用 len(numbers) 表示了最后一个元素的索引值,因为索引值从0开始,最后一个元素的索引值一定是列表内元素个数-1 , 根据“取前不取后”,在end位置上的数字应该+1,所以最后就等于 len(numbers) 了 。
当不设定start和end的时候,就默认取所有的元素了 。
当加入step,这个选项后,step代表步长,默认为1,设定成2的时候,就是隔一个取一个,设定成3时就是隔两个取一个 。
上例中,第一个切片,start和end均未设定,因此从第一个元素开始,隔一个取一个,得到了所有奇数位置的元素 。
第二个切片,start设定为了1 , 因此取了所有偶数位置的元素 。
3在列表中,0不在列表中,所以 3 in a 是True , 而 0 in a 是False
更多关于列表的信息可以通过使用 help(list) 查看帮助文档 。
Python中的常用内置函数有哪些呢?(1)Lambda函数
用于创建匿名函数,即没有名称python列表的函数的函数 。它只是一个表达式,函数体比def简单很多 。当我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数了 。
Lamdbapython列表的函数的主体是一个表达式 , 而不是一个代码块 。仅仅能在lambda表达式中封装有限python列表的函数的逻辑进去 。
利用Lamdba函数,往往可以将代码简化许多 。
(2)Map函数
会将一个函数映射到一个输入列表的所有元素上,比如我们先创建了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素 。
我们还可以使用匿名函数lamdba来配合map函数,这样可以更加精简 。
(3)Reduce函数
当需要对一个列表进行一些计算并返回结果时,reduce()是个非常有用的函数 。举个例子,当需要计算一个整数列表所有元素的乘积时,即可使用reduce函数实现 。
它与函数的最大的区别就是 , reduce()里的映射函数(function)接收两个参数,而map接收一个参数 。
(4)enumerate函数
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中 。
它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始 , 也可以自定义计数器的起始编号 。
(5)Zip函数
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表

推荐阅读