py基础(3)列表

在py(1):http://www.cnblogs.com/nianqiantuling/p/9020920.html中,我们讲解了数据类型中的数字(int和float)、字符串(str),以及布尔值(bool),而今天则讲的则是另一种数据类型,列表,在py中用list表示。通过列表,我们可以对数据实现储存修改等操作。
列表可以放置任意的东西,就像是一个书柜,既可以摆放各类书籍,还可以放饰品、杯子等日用。
1.列表与type函数

>>> [1, 2.5, 'name', "Jake"] ;; 创建一个新的列表, 在py中两个对应的中括号是列表的格式。中括号里面的是列表的元素。
[1, 2.5, 'name', 'Jake']
>>> [] ;; 创建空list

可以包含int,float,str等常见的数据类型。

>>> name = [1, 2.5, 'name', "Jake"] ;; 创建一个列表,并命名为name
>>> name
[1, 2.5, 'name', 'Jake']
>>> name[0] ;; 这里的0是索引的意思,会返回名为name的列表中的第0个元素
1
>>> name[1] ;; 在计算机中从0开始,也就是我们习惯上称的第1位,依次,计算机中的1对应的是习惯上称的2。
2.5
>>> name[-1] ;; -1,也就是索引倒数第一个元素
'Jake'
>>> name[-2]
'name'

1.1分片
分片,是指如果你想要获取列表中某个范围中的元素时,所采用的方法。分片中一共有三个参数,分别是从获取元素的开始、获取元素的结束以及步长(隔几个获取一次元素)

>>> name = [1, 2.5, 'name', "Jake"]
>>> name
[1, 2.5, 'name', 'Jake']

 1 >>> name[0:1] ;; 从索引0处开始,到索引1处结尾,但不包括索引1所对应的元素,分片第三个参数若无,则默认为1
 2 [1]
 3 >>> name[0:2] ;; 索引0至索引2,不包含索引2
 4 [1, 2.5]
 5 >>> name[0:]  ;; 从索引0开始,第二个参数无,则取从0开始剩下的所有元素
 6 [1, 2.5, 'name', 'Jake']
 7 >>> name[:-1] ;; 第一个参数无,则从0开始索引至-1个参数。
 8 [1, 2.5, 'name']
 9 >>> name[:]   ;; 第一、二参数都无,则默认所有
10 [1, 2.5, 'name', 'Jake']
11 >>> name[::2] ;; 第三个参数为2,即获取列表从头到尾所有元素,但要从0开始,隔一个取一个元素
12 [1, 'name']
13 >>> name[::-1]  ;; 取所有元素,但要倒着来取
14 ['Jake', 'name', 2.5, 1]

1.2 type函数,用来查看元素的类型

>>> type(1)      ;; 数字1为int类型,class就是类型的意思
<class 'int'>
>>> type(2.5)    ;; 2.5为float类型,即浮点数
<class 'float'>
>>> type('name') ;; 'name'为str,字符串 
<class 'str'>
>>> type(name)   ;; 由于上面咱们定义了一个名叫name的列表,所以这里是判断name的类型,注意:这个没有引号,不是str
<class 'list'>

 

2.list的函数

 1 ;; 修改元素
 2 >>> name
 3 [1, 2.5, 'name', 'Jake']
 4 >>> name[0] = "JakeOne" ;; 改变索引0的元素为"JakeOne"
 5 >>> name
 6 ['JakeOne', 2.5, 'name', 'Jake']
 7 
 8 ;; 在指定位置添加元素
 9 >>> name.insert(0, "JakeTwo") ;; insert(插入位置,插入元素内容)
10 >>> name
11 ['JakeTwo', 'JakeOne', 2.5, 'name', 'Jake']
12 
13 ;; 删除指定位置的元素
14 >>> del name[0] 
15 >>> name
16 ['JakeOne', 2.5, 'name', 'Jake']
17 
18 ;; 方法1
19 >>> del name                        ;; 删除整个列表
20 >>> name
21 Traceback (most recent call last):  ;; 发生报错,因为name已经删除,故无法引用
22   File "<pyshell#47>", line 1, in <module>
23     name
24 NameError: name 'name' is not defined
25 
26 ;; 方法2
27 >>> name = [1, 2.5, 'name', "Jake"]
28 >>> name.clear()                    ;; 删除list中所有元素,现在变成了无元素的空list
29 >>> name
30 []
31 
32 ;; 方法3
33 >>> name = [1, 2.5, 'name', "Jake"]
34 >>> name.pop()                      ;; 删除指定索引的元素,若无,则默认索引为-1,并返回-1所在的元素
35 'Jake'
36 >>> name
37 [1, 2.5, 'name']
38 >>> name.pop(0)
39 1
40 >>> name
41 [2.5, 'name']
42 
43 ;; 查找元素,知道元素名字
44 >>> name = [1, 2.5, 'name', "Jake"]
45 >>> name.index("name") ;; 返回元素名为"name"的索引值
46 2
47 
48 :: 排序
49 ;; 方法1
50 >>> name = [0.5, -1, 100, 5, 9]
51 >>> sorted(name)
52 [-1, 0.5, 5, 9, 100]
53 
54 ;; 方法2
55 >>> name.sort()             ;; 不设置reverse则默认为False
56 >>> name
57 [-1, 0.5, 5, 9, 100]
58 >>> name.sort(reverse=True) ;; 设置参数为True,则倒序排列
59 >>> name
60 [100, 9, 5, 0.5, -1]

延伸链接:http://www.runoob.com/python/python-lists.html

 

posted @ 2018-05-27 22:20  类十三  阅读(364)  评论(0)    收藏  举报