《转》python(7)列表
转自 http://www.cnblogs.com/BeginMan/p/3153842.html
一、序列类型操作符
1、切片[]和[:]
2、成员关系操作符(in ,not in )
1: s1 = [1,2,3,4,5,6,7]
2: s2 = [2,3,6]
3: s3 = []
4: for obj in s1:
5: if obj not in s2:
6: s3.append(obj)
7:
8: print s3
9: s4 = set(s1)-set(s2)
10: print s4 #set([1, 4, 5, 7])
3、连接操作符 (+)
+: 两边连接同类型的,并且连接之后创建一个新的对象,不能将一个元素添加进去,只能是一个list对象+list对象。
1: print s1+s2 #[1, 2, 3, 4, 5, 6, 7, 2, 3, 6]
1: 注意:
2: li=[1,2,3]
3: li.extend('good'),
4: print li 则输出:[1,2,3,'g','o''o','d']
5: 如果我们换成li.append('good')之后,则输出[1,2,3,'good'].
6: 这是因为extend()添加整个列表对象,append()添加元素
注意:
1: >>> li = [1,2,3]
2: >>> li+'new item'
3:
4: Traceback (most recent call last):
5: File "<pyshell#15>", line 1, in <module>
6: li+'new item'
7: TypeError: can only concatenate list (not "str") to list
8: >>> li.extend('item')
9: >>> li
10: [1, 2, 3, 'i', 't', 'e', 'm']
11: >>> li.append('item')
12: >>> li
13: [1, 2, 3, 'i', 't', 'e', 'm', 'item']
14: >>>
4、重复操作符(*)
二、列表类型内建函数
1、list.append(obj):向列表中添加一个对象obj
1: lis = [1,2,3,4,'a','b','c','a','aaa','e','great']
2: lis.append('object')
3: print lis #[1, 2, 3, 4, 'a', 'b', 'c', 'a', 'aaa', 'e', 'great', 'object']
2、list.count(obj):返回一个对象obj在列表中出现的次数
1: #print lis.count('a') #2
3、list.extend(seq):把序列seq的内容添加到列表中
1: lis.extend('seq') #[1, 2, 3, 4, 'a', 'b', 'c', 'a', 'aaa', 'e', 'great', 's', 'e', 'q']
4、list.index(obj,i=0,j=len(list)):返回list[k]==obj的k值,并且k的范围在 i<=k<j,否则引发ValueError异常
1: #print lis.index('aaa') #8
5、list.insert(index,obj):在索引量为index的位置插入对象obj(必须两个参数)
1: lis.insert(1,'Z')
2: print lis #[1, 'Z', 2, 3, 4, 'a', 'b', 'c', 'a', 'aaa', 'e', 'great']
6、list.pop(index = -1):删除并返回指定位置的对象,默认是最后一个
1: print lis.pop() #great
2: print lis.pop(1) #2
7、list.remove(obj):从列表中删除对象obj
1: lis = [1,2,3,4,'a','b','c','a','aaa','e','great']
2: #lis.remove('value')
3: #如果不存在则发生异常:
4: #Traceback (most recent call last):
5: # File "E:\project\Python_test\src\test\dic.py", line 8, in <module>
6: # lis.remove('value')
7: #ValueError: list.remove(x): x not in list
8: lis.remove('a')
9: #如果有多个相同的值,则只删除最前面的一个:[1, 2, 3, 4, 'b', 'c', 'a', 'aaa', 'e', 'great']
10: lis.remove('great') #[1, 2, 3, 4, 'b', 'c', 'a', 'aaa', 'e']
11:
12: print lis
8、list.reverse():原地翻转列表
1: lis = [1,2,3,4,'a','b','c','a','aaa','e','great']
2: lis.reverse()
3: print lis #['great', 'e', 'aaa', 'a', 'c', 'b', 'a', 4, 3, 2, 1]
9、list.sort()
1: lis = [1,2,3,4,'a','b','c','a','aaa','e','great']
2: #lis.sort(cmp=None, key=None, reverse=False)
3: lis.sort(cmp=None, key=None, reverse=True)
4: print lis #['great', 'e', 'c', 'b', 'aaa', 'a', 'a', 4, 3, 2, 1]
注意:那些可以改变对象值的可变对象的方法是没有返回值的
如:
1: lis = [1,2,3,4,'a','b','c','a','aaa','e','great']
2: print lis.extend('MM') #None
3: result = lis.extend('MM')
4: print result #None
这些操作会在列表中原地执行操作,也就是说现有的列表内容会被改变,但是没有返回值。与之相反,字符串方法有返回值:
1: print 'abc'.upper() #ABC
其中与序列有关的内建函数,则可有返回值:
1: print reversed(lis) #<listreverseiterator object at 0x0128DAD0>
2: print sorted(lis) #[1, 2, 3, 4, 'M', 'M', 'M', 'M', 'a', 'a', 'aaa', 'b', 'c', 'e', 'great']
三、序列类型函数
1、len()
2、max() min()
3、sorted()、reversed():注意字符串排序时使用字典序,而不是字母序
4、enumerate()、zip()
见:http://www.cnblogs.com/BeginMan/archive/2013/03/14/2959447.html
5、sum()
6、list()、tuple()
《转》python(7)列表的更多相关文章
- Python list列表的排序
当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...
- python中列表和元组以及字符串的操作
python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...
- python基础——列表生成式
python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...
- Python的列表排序
Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python对列表的联想
python的列表与字典,已经接触无数次了.但是很多用法都记不住,个人觉得归根原因都是只是学了知识点而少用,也少思考.在此试图用宫殿记忆法对它们的用法做个简单的梳理. 首先,说说列表的删除,删除有三种 ...
- Python统计列表中的重复项出现的次数的方法
本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下:对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在 ...
- python之列表(list)的使用方法介绍
python之列表(list)介绍 在python的使用过程中,我们经常会用到列表,然而经常会遇到疑惑,下面我将详细介绍下列表使用方法. 一.列表 列表经常用到的功能使增.删.改和查功能. 1. 增 ...
- Python的列表
1. Python的列表简介 1. 1 列表的定义 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 ,即它的 ...
- python基础——列表推导式
python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for va ...
随机推荐
- Transactional事务管理操作
Transactional的属性: alue String 可选的限定描述符,指定使用的事务管理器 propagation enum: Propagation 可选的事务传播行为设置 isolatio ...
- vue-lic工具搭建vue-webpack项目
1.安装node环境(安装node时候会自动安装npm) 参考官网:https://nodejs.org/en/download/ 2.安装vue的脚手架工具vue-cli // 全局安装 npm i ...
- CSS Sprite初探之原理、使用
CSS Sprite简介: 利用CSS Sprites能很好地减少了网页的http请求次数,从而大大的提高了页面的性能,节省时间和带宽.CSS Sprites在国内很多人叫css精灵, 是一种网页图片 ...
- MySQL将查询结果写入到文件的2种方法
1.SELECT INTO OUTFIL: 这种方法不能覆盖或者追加到已经存在的文件,只能写入到新文件,并且建立文件的路径需要mysql进程用户有权限建立新文件. mysql 61571 60876 ...
- what have we learnt in day five
what is file? virtual unit offered by operation system steps to open file 1.find the file_path(file_ ...
- SpringBoot Controller 中使用多个@RequestBody的正确姿势
最近遇到Controller中需要多个@RequestBody的情况,但是发现并不支持这种写法, 这样导致 1.单个字符串等包装类型都要写一个对象才可以用@RequestBody接收: 2.多个对象需 ...
- extern static和函数
#include <stdio.h> int sum(int a, int b); int main() { /************************************** ...
- java oop第11章_反射、BaseDao的进一步改造
引言:从Java5开始,Java中引用了一个新的概念反射,当程序运行时,能动态感知到程序中拥有的所以信息,这个获取信息的过程是采用反射机制来完成. 一. Class类: Class类用 ...
- Mysql 查询视图出现The user specified as a definer ('root'@'%') does not exist的问题
今天服务器Mysql版本在5.7升级到8.0+之后,部分网站(老的)访问视图出现The user specified as a definer ('root'@'%') does not exist问 ...
- Box-Cox变换
简介 编辑 Box-Cox变换的一般形式为: 式中 为经Box-Cox变换后得到的新变量, 为原始连续因变量, 为变换参数.以上变换要求原始变量 取值为正,若取值为负时,可先对 ...