《转》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学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- python学习笔记——列表生成式与生成器
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...
- Python学习3——列表和元组
一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...
- python学习之列表的定义以及增删改查
列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...
- Python学习06——列表的操作(2)
笨办法学Python第39节 之前用的第三版的书,昨天发现内容不对,八块腹肌又给我下了第四版,这次的内容才对上.本节的代码如下: ten_things = "Apples Oranges C ...
- python学习04——列表的操作
笨办法学python第38节 如何创建列表在第32节,形式如下: 本节主要是讲对列表的操作,首先讲了 mystuff.append('hello') 的工作原理,我的理解是,首先Python找到mys ...
- python学习之列表语法
1.列表 1 list.append(obj)在列表末尾添加新的对象2 list.count(obj)统计某个元素在列表中出现的次数3 list.extend(seq)在列表末尾一次性追加另一个序列中 ...
- python学习笔记——列表操作
python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...
- python学习之列表和字典
列表 基本操作>>>len([1,3,4])3 >>>[1,2,3]+[4,5,6] +号两边必须是相同类型[1,2,3,4,5,6] >>> ...
- Python学习_03_列表、元组、字符串
列表.元组.字符串这些通过顺序访问的对象统称为序列. 序列的标准操作符 对于一般的序列对象,包括列表.元组.字符串,都具有以下的标准操作: 1. element [not] in seq判断一个元素是 ...
随机推荐
- 【UE4】如何获取/下载虚幻4(Unreal Engine4)源码
在官网中点击[获取虚幻引擎]可以看到,虚幻4完整源代码已经放在Github上,所以与其用百度搜别人的资源,当然是直接上Github下啊. 主要步骤如下: 注册一个Github帐号,这个没啥值得说的. ...
- Linux 完整的修改用户名,用户组的方法记录
今天将虚拟机内所有的用户都是统一规划自己的名字,方便识别操作,特记录相关修改Linux 用户名以及修改用户组的方法 第一种方式,直接改相关文件: /etc/passwd 如图所示,改为自己想用户名,描 ...
- Energy Modes能量管理模式
1 EM0 运行模式 默认模式; 2 EM1 休眠模式 休眠模式 主处理器停止,片上系统模块运行; 3 EM2 深度休眠 只有异步或低频外设运行; 4 EM3 停止模式 与EM2相比,低频晶振 ...
- 802.1q VLAN
VLAN(Virtual Local Area Network),是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的技术. 以一个网络接口为主设备,可以创建多个虚拟网络接 ...
- ubuntu如何修改字符集编码
系统支持编码的修改如下: 1. 使用如下命令查看系统支持的字符集cat /usr/share/i18n/SUPPORTED说明:查看系统支持的字符集,你需要注意的是支持字符集的格式,如对中文会有以下一 ...
- 使用平台调用(P/Invoke)
使用平台调用 P/Invoke.它的全名叫平台调用(platform invoke).用于调用dll 中实现的非托管的单调(flat)编程接口.被称为使用C或C++ 调用约定(calling conv ...
- linux下node-webkit安装vlc插件
一.下载node-webkit 下载linux版本的node-webkit,网址如下:https://github.com/rogerwang/node-webkit.文件解压之后又如下几个文件,其中 ...
- UC浏览器调试移动端网站
准备工作: UC浏览器开发版网址 UC浏览器开发者版下载地址 下载adb_tool 步骤: 1.将adb_tool解压,把里面的文件复制到 C:\Windows\SysWOW64 文件夹下面. 2.运 ...
- jQuery的Cookie操作插件
jQuery的cookie插件 01 // jQuery.cookie.js 02 jQuery.cookie = function(name, value, options) { 03 if ...
- 【转】【MFC】 StretchBlt绘图图像失真
MFC中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真. 在了解解决方法前先巩固下StretchBlt的用法: StretchBlt 函数功能:函数从源矩形中复制一个位图到目标 ...