Python 列表
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 列表的更多相关文章
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
- python列表、元祖、字典
python列表 ['a','1','vs2'] 里面的值可以改 python元祖 ('a','1','css','sdf12') 里面的值不能改 python字典 {'s ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- python 列表生成器
python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...
- [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Python 列表如何获得一个指定元素所在的下标
在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...
- python列表的常用操作方法
主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- (转载)Python 列表(list)操作
(转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...
随机推荐
- uva 1001(最短路)
题意:在一个三维的奶酪里面有n(n<=100)个洞,老鼠A想到达老鼠B的位置,在洞里面可以瞬间移动,在洞外面的移动速度为10秒一个单位,求最短时间 题解:如果两个洞相交,那么d[i][j]=0: ...
- guava学习--FluentIterable
public class FluentIterableTest { public static void main(String[] args) { Man man1 = new Man(" ...
- iOS开发拓展篇—CoreLocation定位服务
iOS开发拓展篇—CoreLocation定位服务 一.简单说明 1.CLLocationManager CLLocationManager的常用操作和属性 开始用户定位- (void)startUp ...
- XML 链接
公共Webservice 网络上可供测试的Web Service腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOn ...
- JAVA https证书相关
生成证书: keytool -genkey -alias cas -keyalg RSA -keystore cas.key 导出证书: keytool -export -alias cas -f ...
- java中byte, int的转换
最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码.补码的说明依旧头疼,还是记下些实用的方法吧.int -> byte可以直接使用强制类型转换: byte b = ( ...
- ANT build.xml文件详解
Ant的优点 跨平台性.Ant是用Java语言编写的,所示具有很好的跨平台性. 操作简单.Ant是由一个内置任务和可选任务组成的. Ant运行时需要一个XML文件(构建文件). Ant通过调用targ ...
- JVM-字节码指令
Java虚拟机字节码指令 了解了class文件,我觉得就很有必要去了解一下JVM中的字节码指令,那样堆class文件以及JVM运行机制也后很大的帮助. Java虚拟机的指令由一个字节长度的,代表着某种 ...
- DOMContentLoaded和load
/* * IE9以及现代浏览器新增了一个DOM构建完毕的事件DOMContentLoaded, * 这个事件触发的时间要比load快, * 因为这个事件只涉及DOM的构建,不涉及其他资源的加载. * ...
- c#中各类日期的计算方法,收藏
DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一D ...