今天进入高级特性的学习,其实就是如何更轻松的写代码。高级特征切片要记住的关键是切片时要包括头部而不是尾部!!!之前在学习基本类型的时候提到过这个特性,就是截取字符串或者列表的一部分。list=['one','two','three','four','five']#取出list的前三个元素组成一个新的listprint(list[0:3])operationresult:['one','two','three']list[0:3]表示从索引0开始到索引3,但不包括索引3。即索引0、1、2正好是3个元素.如果第一个索引为0,它仍然可以省略。list=['one','two','three','four','five']#取出list的前三个元素组成新的listprint(list[:3])runningresult:['one','two','three']python支持倒数切片,记住倒数第一个元素的索引是-1。list=['one','two','three','four','five']#取出list倒数第三之前的所有元素,组成新的listprint(list[:-3])运行结果:['one','two']最后还有一个可以按照一定的规则得到list=['one','two','three','four','five']#allelementsineach每两次取一个元素print(list[::2])runresults:['one','three','five']通过for循环迭代遍历一个list。list=['one','two','three','four','five']forvalueinlist:#打印出list中的每一个元素print(value)results:onetwothreefourfive可以遍历字典key和value:y={'a':1,'b':2,'c':3}forainy.keys():print(a)forbiny.values():print(b)运行结果:abc123listgenerationlistgeneration是ListComprehensions,是Python内置的一个非常简单但功能强大的生成器,可以用来创建列表。pythonrange()函数创建一个整数列表,通常用于for循环。#如果只是简单的生成一个整数列表,那么我们可以直接使用range(),但是如果我们需要生成一个复杂的列表,就需要一个listgeneration。#生成一个1到10的列表l=range(1,11)print(l)#生成一个1到10的正方形列表t=[x*xforxinrange(1,11)]print(t)results:[1,2,3,4,5,6,7,8,9,10][1,4,9,16,25,36,49,64,81,100]也可以生成更复杂的条件列表#生成一个从1到10的偶数平方listl=[x*xforxinrange(1,11)ifx%2==0]print(l)results:[4,16,36,64,100]生成器我们可以通过列表生成器生成所有符合要求的列表,但是如果我们要生成一个非常大的列表怎么办?在Python中,有一种在循环中计算的机制,称为生成器:generator。#创建一个列表l=[x*xforxinrange(1,11)ifx%2==0]print(l)#创建一个生成器g=(x*xforxinrange(1,11)ifx%2==0)print(g)runningresult:[4,16,36,64,100]
