一、序列类型操作符

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入门笔记(8):列表的更多相关文章

  1. Python入门笔记(13):列表解析

    一.列表解析 列表解析来自函数式编程语言(haskell),语法如下: [expr for iter_var in iterable] [expr for iter_var in iterable i ...

  2. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  3. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  4. Python入门笔记——(2)列表和元组

    一.序列 python包含6种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列中每个元素被分配一个序号即索引,第一个索引为0,第二个为1,以此类推.也可以 ...

  5. 学习笔记(1):零基础掌握 Python 入门到实战-列表与元祖到底该用哪个?(二)...

    立即学习:https://edu.csdn.net/course/play/26676/338778?utm_source=blogtoedu 列表不能通过增加索引增加元素 可以使用list中的app ...

  6. Python入门基础学习(列表/元组/字典/集合)

    Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...

  7. [Python]Python入门笔记:语法基础

    Python笔记 一.基本语法 1.1 注释 文档注释: """contents""" 多行注释: ''' contents ''' 单行注 ...

  8. python学习笔记(列表、元组、购物车实例)

    一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun",&qu ...

  9. python入门笔记

    创建变量 python的变量不需要声明数据类型. >>> fred=100 >>> print (fred) 100 >>> fred 100 创 ...

随机推荐

  1. IIS服务器下做301永久重定向设置方法

    实现方法如下: 1.新建一个站点,对应目录如E:\wwwroot\301web.该目录下只需要1个文件,即index.html或者加个404.htm.绑定要跳转的域名,如图: 2.在IIS中选中刚才我 ...

  2. 为什么 NSLog 不支持 Swift 对象(转)

    https://segmentfault.com/a/1190000005668218 也就说: 1. 如果是 OC 的对象,重写 description 的 get 方法就可以了. 2. 如果不是 ...

  3. MPEG2/TS 包结构简述

    TS 包由以下3部分组成: 包头: 4字节, 同步,识别,检错和加密用 自适配域:可选 包数据:最大184字节(不存在自适配域) 4字节 184字节 包头 自适配域 包数据 4字节包头结构: 1字节 ...

  4. check member function

    template<typename T> struct has_member_foo11 { private: template<typename U> static auto ...

  5. 架构模式之REST架构

    直至今日,分布式系统(Distributed System)已经取得了大规模的应用,特别是Web的发展,已经给软件开发带来了翻天覆地的变化,这一点已经毋庸置疑了. 构建分布式系统常用的技术通常就是使用 ...

  6. C#、.NET网络请求总结(WebClient和WebRequest)

    1.关于WebClient第三方的封装,支持多文件上传等 using System; using System.Collections.Generic; using System.Text; usin ...

  7. LeetCode: 221_Maximal Square | 二维0-1矩阵中计算包含1的最大正方形的面积 | Medium

    题目: Given a 2D binary matrix filled with 's and return its area. For example, given the following ma ...

  8. Java程序性能优化Tip

    本博客是阅读<java time and space performance tips>这本小书后整理的读书笔记性质博客,增加了几个测试代码,代码可以在此下载:java时空间性能优化测试代 ...

  9. 非常简单实用的Python HTTP服务

    在做分布式系统应用的时候经常在测试环境上传一个包,或者干嘛的,公司的服务器比较bug,只给ldap权限,每次只能scp到自己的个人目录下,然后才能进到公共账号下去cp,比较麻烦.这时候如果你需要一个简 ...

  10. centos下 Vim快捷键操作命令大全

    Vim是一个超牛的编辑器,命令功能十分强大 .而且这些命令大都可以进行组合 ,比如,9yy命令表示复制9行内容,9表示要复制的行数,同样100dd表示删除100行,当数字和命令合作的时候,就比单纯的命 ...