python 列表

列表的特点

1、列表是一种可变的数据类型,这点是跟元组有区别的

2、列表中的值是有序的,并且可存放重复的值,这点跟set有区别的

3、python中的列表类似于其它语言中的数组

4、列表中元素的值可以多种数据类型并存


列表基本操作方法

 1、元素赋值

1
2
3
>>> list1 = [3,9,'python','java',[9,3,5]]
>>> print list1
[3, 9, 'python', 'java', [9,3,5]]

    2、列表分片

1
2
3
4
5
6
7
8
9
10
11
#列表中的索引从0开始,第一个冒号前面的值代表列表索引的起始值,第一个冒号后面的值表示分片结束的索引值(不包含)
>>>print list1[0:4]
[3, 9, 'python', 'java']
#[::-1] 第二个冒号后面的值表示步长,可为负,负数表示按照步长倒序输出
>>>print list1[::2]
>>>print list1[::2]
[3, 'python', [9, 3, 5]]
>>>print list1[::-1]
[[9, 3, 5], 'java', 'python', 9, 3]
>>>print list1[-1:-4:-2]
[[9, 3, 5], 'python']

 3、删除元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> print list1
[3, 9, 'python', 'java', [9, 3, 5]]
#remove方法是根据列表中的值进行删除
>>> list1.remove(3)
#如果remove的值在列表中的值不存在,那么会解释器会毫不留情的报错
>>> remove(1)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'remove' is not defined
>>> print list1
[9, 'python', 'java', [9, 3, 5]]
#del是根据索引进行删除
>>> del list1[2]
>>> print list1
[9, 'python', [9, 3, 5]]

4、len方法

1
2
3
4
5
6
7
>>> list1 = [1,8,23,56,32,9,23,[5,9,3,9]]
#内嵌列表在外面列表看来长度为1
>>> print len(list1)
8
#计算内嵌列表的长度
>>> print len(list1[-1])
4

    5、count方法

1
2
3
4
5
6
7
8
>>> print list1.count(23)
2
#如果要统计的值在列表中不存在则返回0
>>> print list1.count(25)
0
#内嵌列表以及元组的值不会被统计进来
>>> print list1.count(9)
1

    6、append方法

1
2
3
4
5
6
#append可以添加各种数据类型
>>> list1.append('Kingway')
>>> list1.append([2,3,4,5])
>>> list1.append(9)
>>> print list1
[1, 8, 23, 56, 32, 9, 23, [5, 9, 3, 9], 'Kingway', [2, 3, 4, 5], 9]

7、extend方法

1
2
3
4
5
6
7
8
9
#extend属于列表的扩展,只能对其他列表进行扩展,而无法像append那样添加其它元素的值
>>> list1.extend([6,7,8])
>>> print list1
[1, 8, 23, 56, 32, 9, 23, [5, 9, 3, 9], 'Kingway', [2, 3, 4, 5], 9, 6, 7, 8]
#直接添加其它元素的值会报错
>>> list1.extend(9)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'int' object is not iterable

    8、insert方法

1
2
3
4
5
6
7
8
9
10
11
12
13
#insert方法中第一个参数的值为索引,第二个参数为需要插入的值,插入值可以是各种数据类型
>>> list1.insert(3,'four')
>>> print list1
[1, 8, 23, 'four', 56, 32, 9, 23, [5, 9, 3, 9], 'Kingway', [2, 3, 4, 5], 9, 6, 7, 8]
#如果索引的值大于列表长度,那么将在列表的最后一位插入该值
>>> list1.insert(100,"end")
>>> print list1
[1, 8, 23, 'four', 56, 32, 9, 23, [5, 9, 3, 9], 'Kingway', [2, 3, 4, 5], 9, 6, 7, 8, 'end']
#索引的值不能为负,否则将会报错
>>> list1.index(-10,'first')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: slice indices must be integers or None or have an __index__ method

    9、pop方法

1
2
3
4
5
6
7
8
#pop方法用于删除相应的值并将删除的值返回,默认删除列表的最后一位
>>> list1.pop()
'end'
#删除并返回指定位置的值
>>> list1.pop(2)
23
>>> print list1
[1, 8, 'four', 56, 32, 9, 23, [5, 9, 3, 9], 'Kingway', [2, 3, 4, 5], 9, 6, 7, 8]

10、sort方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#sort方法可以将列表进行排序
>>> list1 = [23,9,15,3]
>>> list1.sort()
>>> print list1
[3, 9, 15, 23]
#sort方法会改变原列表的值,sorted方法不会对原列表的值进行修改,sort为列表内置的方法,sorted为python内置的方法
>>> list1 = [23,9,15,3]
>>> list2 = sorted(list1)
>>> print list1
[23, 9, 15, 3]
>>> print list2
[3, 9, 15, 23]
#sort可以以字符串值的长度进行排序
>>> list1 = ['a','dddd','ccc','bb']
>>> list1.sort(key = len)
>>> print list1
['a', 'bb', 'ccc', 'dddd']

11、其它方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#reverse方法,将列表中的元素倒序排列
>>> list1 = [23,5,9,18,6]
>>> list1.reverse()
>>> print list1
[6, 18, 9, 5, 23]
#max方法,将列表中的最大值输出
>>> print max(list1)
23
#min方法,将列表中的最小值输出
>>> print min(list1)
5
#index方法,将对应元素的索引输出,如果该元素在列表中不存在,则报错,如果该元素在列表中有多个,则返回第一个被查到的值的索引值
>>> list1 = [32,8,234,9,8,12]
>>> list1.index(8)
1
>>> list1.index(3)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: 3 is not in list
#cmp方法,比较两个列表的值,如果第一个大于第二个则返回1,反之结果为-1,两个列表相等则为0
>>> list1 = [9,5]
>>> list2 = [9,7]
>>> cmp(list1,list2)
-1
>>> list2 = [9,5]
>>> cmp(list1,list2)
0
>>> list2 = [7,9]
>>> cmp(list1,list2)
1

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 通过一行代码学习javascript

    [].forEach.call($$("*"), function (a){ a.style.outline = "1px solid #"+(~~(Math. ...

  2. 【必备】史上最全的浏览器 CSS & JS Hack 手册(转)

    浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向 ...

  3. Windows Store App 旋转特效

    使用Projection类可以实现界面元素的三维效果,它可以使界面上的元素在三维空间中沿着X轴.Y轴或者Z轴旋转一定的角度,在透视转换中此类又称为元素的Projection属性,用于对元素使用3D特效 ...

  4. java 异常

    异常简介 java中有Error和Exception Error:是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行操作无关,而表示运行时JVM出现的问题. Excepti ...

  5. 进监狱全攻略之 Mifare1 Card 破解

    补充新闻:程序员黑餐馆系统 给自己饭卡里充钱 ,技术是双刃剑,小心,小心! 前言 从M1卡的验证漏洞被发现到现今,破解设备层出不穷,所以快速傻瓜式一键破解不是本文的重点,年轻司机将从本文中获得如下技能 ...

  6. Classes

    Class Organization Following the standard Java convention, a class should begin with a list of varia ...

  7. 国产AR SDK介绍

    说到VR,大家都知道虚拟现实有多火.可是VR之后呢,还有AR.相较于VR,AR的应用意义更加的强大. 相信在不久的将来AR和VR将会融为一体,把现实世界的数据信息完全联通在我们的眼前.这其中的领头羊莫 ...

  8. public static void main(String[] args){}函数理解

    主函数的一般写法如下: public static void main(String[] args){…} 下面分别解释这些关键字的作用: (1)public关键字,这个好理解,声明主函数为publi ...

  9. WAMPSERVER 与 IIS冲突 及如何修改网站根目录

    如果之前打开过IIS服务或者用过xampp则输入localhost时,浏览器显示如下: 这说明WAMPSERVER 与 IIS服务的默认端口冲突: 可以测试80端口是否被占用: 如上端口被IIS服务占 ...

  10. Linux TC基于CBQ队列的流量管理范例

    参考了TC的很多文档,自己也整理了一篇配置记录.在实际使用过程中效果还不错,在此分享给大家以备参考.环境:局域网规模不是很大40多台机器. NAT共享上网(内网:eth0 外网:eth2)CBQ是通过 ...