python学习---列表
2015-12-11 18:43
465 查看
列表的特点:
1、切片:
2、添加操作:
3、 修改:
4 、删除操作:
5、成员关系:
6 、列表推导式:
7、 排序翻转:
8、list内置方法
1、**有序**的集合 2、通过**偏移**来索引,从而读取数据(偏移可以为负,即从右到左,最右为-1) 3、支持嵌套 4、**可变**的类型
1、切片:
a = [1,2,3,4,5,6,7] 正向索引(a[1:5:2]) 反向索引 (a[-1:-5:2])从有到左索引 默认索引(a[0,])默认到最后一个数,间隔为1
2、添加操作:
1、"+"(生成一个新的列表) 2、extend 接受参数并将该**参数的每个元素**都添加到原有的列表中,修改列表而不是新建列表 3、append :添加**任意对象**到列表的末端(嵌套) 4、insert: 插入**任意对象**到列表中,可以控制插入位置。(嵌套)
3、 修改:
修改列表本身只需要直接赋值操作就行。 A = [1,2,3] A[0]=’haha’ 注意:a =[1,2,3] b=a a[0]=="lpc" 此时print b ---->[lpc,2,3] 因为:变量即是引用,引用对象,指向对象的地址。
4 、删除操作:
del :我们通过索引删除指定位置的元素。del a[1] 注意:**del a 删除列表a的引用** a =[1,2,3] b=a del a print b ----> [1,2,3] **del a[:]清空列表对象里的元素** a =[1,2,3] b=a del a[:] print b ----> [] remove:移除列表中指定值的**第一个匹配值**。如果没找到的话,**会抛异常**。 pop:返回**最后一个元素**,并从list中删除它。
5、成员关系:
In \not in我们可以判断一个元素是否在列表里。 返回一个bool类型,元素在列表里返回True,否则返回Fasle.
6 、列表推导式:
1、[expr for iter_var in iterable] 首先迭代iterable(列表)里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,**再在表达式expr中应用该iter_var的内容**,最后用表达式的计算值生成一个列表。 以上表达式等同于: for inter_var in iterable: print expr eg:我们要生成一个包含1到10的列表 [x for x in range(1,11)] 输出 :a = ['lpc',[cpl]] "name:lpc,name:cpl" ['name: %s ' % n for n in a] 2、[expr for iter_var in iterable if cond_expr] 加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。 eg;要生成包含1到10的所有奇数列表。 [x for x in ra 4000 nge(1,11) if x % 2 == 1] 3、xrange和range xrange(start,end,step),它生成了一个xrange对象,而range生成一个列表。 **xrange用法:** 1、当需要操作一个大数据时,而且为了节约内存,使用xrange 2、只需要操作部分数据时而不是不是返回全部元素来完成操作。 4、应用: (1)取出1-100的所有值平方 [x*x for x in xrange(1,101)] (2)生成的东西不是数字 生成字符串:['the %s' % d for d in xrange(10)] 生成元组:[(x,y) for x in range(2) for y in range(2)] 生成字典:dict([(x,y) for x in range(2) for y in range(2)])
7、 排序翻转:
1、sort L.sort(cmp = none, key = none ,reverse=False) a = [33,11,22,44] 这个方式直接修改原列表。他的返回值为none,所以b = a.sort() print b 输出的内容是None key:通过一个例子来看: a=['123','478','456']要想让列表a按照字符串中的数字大小排列 a.sort(key=int) reverse:反转,可以在sort方法内设置reverse = Ture 来设置列表反转 cmp:比较,在python3中已被淘汰。 附:另一个方法sorted()用法和l.sort类似,需要在方法内指明列表,另外该方法不改变原有的列表,所以需要进行重新赋值。 2、多级排序: a = [(1,2,3),(3,4,5),(4,3,2)] 比如:以第二位和第三位进行排序: import operator a.sort(key = operator.itemgetter(1,2)) 3、针对某一游标排序 a = ['lpc':23,'cpl':25,'plc':20] a.sort(k= lambda x:x[1]) 按照每个单元里的第1个进行排序 4、reserve list的reverse函数:反转一个list, 他的返回值为none. 比如上面的列表a b = a. reverse() print b 输出的内容是None
8、list内置方法
a = “lpc” list(a) print a -------> ['l','p','c'] 1、返回一个列表,**参数是可以迭代的对象**(整型的数字就不可以) 2、里面的内容还是保持了传入可迭代对象的元素和顺序 3、如果参数为空,则返回一个空的列表
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法