Python 列表(list)

列表是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

列表的基本操作:

  1. 索引
  2. 切片
  3. 追加
  4. 删除
  5. 长度
  6. 循环
  7. 包含

查看列表有哪些方法

>>> a = [1,2,3,4,]
>>> dir(a)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

定义一个列表namelist1

>>> namelist1 = ["lilei", "hanmeimei", "lixue", "xiaoming"]
>>> namelist1
['lilei', 'hanmeimei', 'lixue', 'xiaoming']

1.通过下标访问列表中的元素,下标从0开始:

>>> namelist1[0]
'lilei'
>>> namelist1[1]
'hanmeimei'

2.切片,取多个元素

>>> namelist1[0:3]
['lilei', 'hanmeimei', 'lixue']

3.追加:

>>> namelist1
['lilei', 'hanmeimei', 'lixue', 'xiaoming']
>>> namelist1.append("Jack")
>>> namelist1
['lilei', 'hanmeimei', 'lixue', 'xiaoming', 'Jack']

4.指定位置插入,将Long插入到第二个下标位置:

>>> namelist1.insert(2, "Long")
>>> namelist1
['lilei', 'hanmeimei', 'Long', 'lixue', 'xiaoming', 'Jack']

5.修改,将下标2的Long修改为LONG:

>>> namelist1
['lilei', 'hanmeimei', 'Long', 'lixue', 'xiaoming', 'Jack']
>>> namelist1[2] = "LONG"
>>> namelist1
['lilei', 'hanmeimei', 'LONG', 'lixue', 'xiaoming', 'Jack']

6.删除

6.1指定下标删除"del":
>>> namelist1
['lilei', 'hanmeimei', 'LONG', 'lixue', 'xiaoming', 'Jack']
>>> del namelist1[2]
>>> namelist1
['lilei', 'hanmeimei', 'lixue', 'xiaoming', 'Jack']
6.2指定元素删除"remove":
>>> namelist1
['lilei', 'hanmeimei', 'lixue', 'xiaoming', 'Jack']
>>> namelist1.remove("lixue")
>>> namelist1
['lilei', 'hanmeimei', 'xiaoming', 'Jack']
6.3删除列表最后一个值:
>>> namelist1
['lilei', 'hanmeimei', 'xiaoming', 'Jack']
>>> namelist1.pop()
'Jack'
>>> namelist1
['lilei', 'hanmeimei', 'xiaoming']

7.将其他列表list2合并到当前列表:

>>> list2 = [1,2,3,4]
>>> list2
[1, 2, 3, 4]
>>> namelist1.extend(list2
list2
>>> namelist1.extend(list2)
>>> namelist1
['lilei', 'hanmeimei', 'xiaoming', 1, 2, 3, 4]

8.统计(count)列表中存在几个相同的值“Jack”:

>>> namelist1.insert(2,"Jack")
>>> namelist1.insert(2,"Jack")
>>> namelist1.insert(2,"Jack")
>>> namelist1.insert(-1,"Jack")
>>> namelist1
['lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'xiaoming', 1, 2, 3, 'Jack', 4]
>>> namelist1.count("Jack")
4

9.排序&翻转排序(sort & reverse)

注:Python3.0里不同数据类型不能放在一起排序(字符和数字不能一同排序)

9.1按照ASCII排序
>>> namelist1
['Jack', 'Jack', 'Jack', 'hanmeimei', 'lilei', 'xiaoming', '5', '4', '3', 'Jack', '4']
>>> namelist1.sort()
>>> namelist1
['3', '4', '4', '5', 'Jack', 'Jack', 'Jack', 'Jack', 'hanmeimei', 'lilei', 'xiaoming']
9.2翻转排序:
>>> namelist1.reverse()
>>> namelist1
['xiaoming', 'lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'Jack', '5', '4', '4', '3']

10.获取列表中值的下标(index):

注:默认只获取第一个下标

['xiaoming', 'lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'Jack', '5', '4', '4', '3']
>>> namelist1.index("hanmeimei")
2
>>> namelist1.index("Jack")
3

11.统计一共有几个值:

>>> namelist1
['xiaoming', 'lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'Jack', '5', '4', '4', '3']
>>> len(namelist1)
11

12.去除列表值中的前后空格(strip)

注:默认去除空格

>>> namelist1.append("xxxx   ")
>>> namelist1
['xiaoming', 'lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'Jack', '5', '4', '4', '3', 'xxxx ']
>>> namelist1[-1]
'xxxx '
>>> namelist1[-1].strip()
'xxxx'

13.统计列表一共有几"Jack"相同的元素(count):

>>> namelist1
['xiaoming', 'lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'Jack', '5', '4', '4', '3']
>>> namelist1.count("Jack")
4

14.将列表依照指定符号分隔(join):

>>> namelist1
['xiaoming', 'lilei', 'hanmeimei', 'Jack', 'Jack', 'Jack', 'Jack', '5', '4', '4', '3']
>>> "***".join(namelist1)
'xiaoming***lilei***hanmeimei***Jack***Jack***Jack***Jack***5***4***4***3'
>>> "*".join(namelist1)
'xiaoming*lilei*hanmeimei*Jack*Jack*Jack*Jack*5*4*4*3'
>>> "-".join(namelist1)
'xiaoming-lilei-hanmeimei-Jack-Jack-Jack-Jack-5-4-4-3'

003-python列表的更多相关文章

  1. python 列表排序

    转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...

  2. python列表、元祖、字典

    python列表   ['a','1','vs2']       里面的值可以改 python元祖   ('a','1','css','sdf12')   里面的值不能改 python字典   {'s ...

  3. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  4. Python 列表

    python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...

  5. python 列表生成器

    python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...

  6. [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  7. Python 列表如何获得一个指定元素所在的下标

    在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...

  8. python列表的常用操作方法

    主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...

  9. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

  10. (转载)Python 列表(list)操作

    (转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...

随机推荐

  1. 搭建golang的beego注意事项

    大家都知道,在学golang的时候,大家都会去关注谢大的beego快速开发架构. 首先,小弟是win7 32bit系统,在这里,我要把我学习golang的过程和小心得记录起来. 相信想学的人一定会早早 ...

  2. 简单的GDI+双缓冲的分析与实现

    为什么要使用双缓冲绘制 在进行多图元绘制的时候: 因为是要一个一个画上去,所以每画一个图元,系统就要做一次图形的绘制操作,图形的重绘是很占用资源的,特别当需要重绘的图形数量很多的时候,所造成的消耗就特 ...

  3. Win32中GDI+应用(五)--GDI与GDI+编程模型的区别

    在GDI里面,你要想开始自己的绘图工作,必须先获取一个device context handle,然后把这个handle作为绘图复方法的一个参数,才能完成任务.同时,device context ha ...

  4. SlidesJS 3.0.4 在手机上遇到的一些问题及解决办法

    SlidesJS 3.0.4 http://slidesjs.com 在手机上遇到的一些问题及解决办法 1.手机上打开有sliderjs的页面后, 切换到别的页面再回来时, sliderjs部分不能滑 ...

  5. 【原创】The Error in Android developing

    本文停止更新.... 鼠标渣渣 ,点一次 成两次  R.java文件不幸中枪  被拖动修改... 最后application编译运行时   解决方案:project-clean 问题解决了..   2 ...

  6. 用MFC如何高效地绘图

    显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题.而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案.     MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只 ...

  7. Find your present (2) (位异或)

    Problem Description In the new year party, everybody will get a "special present".Now it's ...

  8. 快速搭建高速稳定三层B/S架构

  9. 通过阅读ASP.NET MVC5 框架解密 路由的一点心得

    路由: 1.在ASP.NET中路由不专属与ASP.NET MVC,因为路由(Route)是在system.web 命名空间下的,所以传统的WebForm也可以使用路由. 2.什么叫做路由 采用某种机制 ...

  10. [BZOJ 1028] [JSOI2007] 麻将 【枚举+贪心判断】

    题目链接:BZOJ - 1028 题目分析 枚举听的是哪种牌,再枚举成对的是哪种牌,再贪心判断: 从1到n枚举每一种牌,如果这种牌的个数小于0,就返回不合法. 将这种牌的张数 % 3, 剩下的只能和 ...