python入门第五天

列表

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

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

1 list1 = ['张三', 'lisi', 23, 9000];
2 list2 = [1, 2, 3, 4, 5 ];
3 list3 = ["a", "b", "c", "d"];

访问列表中的值

 1 a=['张三','李四','王五','赵六','钮七']
 2 #索引:0     1     2     3     4   ...  索引从0开始计数 
 3 #字符串的切片操作
 4 
 5 print(a[0])  #取索引为0的字符串
 6 
 7 print(a[1])   #取索引为1的字符串
 8 
 9 print(a[1:])  #取 索引从1到最右边的所有字符串
10 
11 print(a[1:3])  #取索引从1到3(不包括索引3的字符串)之间的所有字符串
12 
13 print(a[3::-1]) #-1定义取值方向,默认为1,表示从左到右取值。-1表示从右向左取值
14 
15 print(a[0:3:2]) #2表示为正数,表示从左到右,每2个单位,取一次值。
16 
17 print(a[3:0:-2]) #-2 为负数,表示从右到左,每2个单位,取一次值。取索引3开始,从右到左方向,到索引为0,之间的值。
18 
19 print(a[-2:1:-2]) #-2 为负数,表示从右到左,每2个单位,取一次值。取索引从-2开始,从右到左方向,到索引为1(不包含索引1对应的字符串)截止,之间的值。
20 
21 print(a[-2::-2]) #-2 为负数,表示从右到左,每2个单位,取一次值。取索引为-2开始,从右到左方向,默认到最左边的值

结果:

================ RESTART: F:/python从入门到放弃/6.4/list_lesson.py ================
张三
李四
['李四', '王五', '赵六', '钮七']
['李四', '王五']
['赵六', '王五', '李四', '张三']
['张三', '王五']
['赵六', '李四']
['赵六']
['赵六', '李四']
>>> 

 

 

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用insert()/ append()方法来添加列表项,如下所示:

1 a=['张三','李四','王五','赵六','钮七']
2 
3 a.append("欧阳上天")
4 a.append('独孤败天')
5 a.append('郭靖') #append 默认把参数放进列表的最后一个位置
6 
7 print(a)

结果:

"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py
['张三', '李四', '王五', '赵六', '钮七', '欧阳上天', '独孤败天', '郭靖']

insert增加数据:

1 a=['张三','李四','王五','赵六','钮七']
2 
3 a.insert(2,'黄蓉')
4 
5 print(a)

结果:

"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py
['张三', '李四', '黄蓉', '王五', '赵六', '钮七']

Process finished with exit code 0

修改数据

从类别中取出该值,直接重新赋值即可。

1 a=['张三','李四','王五','赵六','钮七']
2 
3 a[2]='欧阳锋'
4 print(a)
5 a[2:4]=['郭靖','黄蓉']
6 print(a)

结果:

"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py
['张三', '李四', '欧阳锋', '赵六', '钮七']
['张三', '李四', '郭靖', '黄蓉', '钮七']

Process finished with exit code 0

删除数据

删除操作: remove   pop    del

list.remove(obj)      移除列表中某个值的第一个匹配项。如果存在两个相同的值。则只一处第一次出现值

1 a=['张三','李四','王五','赵六','钮七']
2 #删除操作: remove   pop    del
3 a.remove('王五')
4 print(a)
5 b=['张三','李四','王五','赵六','钮七','王五']
6 b.remove('王五')
7 print(b)

结果:

"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py
['张三', '李四', '赵六', '钮七']
['张三', '李四', '赵六', '钮七', '王五']

Process finished with exit code 0

list.pop([index=-1]])    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

1 a=['张三','李四','王五','赵六','钮七']
2 #删除操作: remove   pop    del
3 b=a.pop(1)
4 print(b)

结果:

"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py
李四

Process finished with exit code 0

 

Python列表函数&方法

 1 a=['张三','钮七','李四','王五','赵六','钮七','陈二']
 2 print('返回列表的元素个数',len(a)) #返回列表的元素个数。
 3 
 4 print(max(a))  #max() 方法返回列表元素中的最大值。
 5 print(min(a)) #min() 方法返回列表元素中的最小值。
 6 b=[1,3,56,89,23,4,2]
 7 print('列表元素中的最大值',max(b))  #max() 方法返回列表元素中的最大值。
 8 
 9 print('列表元素中的最小值',min(b)) #min() 方法返回列表元素中的最小值。
10 
11 
12 print('钮七的索引位置值:',a.index('钮七'))   #index() 函数用于从列表中找出某个值第一个匹配项的索引位置。
13 
14 print('统计钮七在列表中出现的次数',a.count('钮七'))    #统计某个元素在列表中出现的次数
15 
16 a.extend(b)     #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
17 print(a)
18 print(b)

结果:

返回列表的元素个数 7

陈二
张三

列表元素中的最大值 89

列表元素中的最小值 1

钮七的索引位置值: 1


统计钮七在列表中出现的次数 2

['张三', '钮七', '李四', '王五', '赵六', '钮七', '陈二', 1, 3, 56, 89, 23, 4, 2]
[1, 3, 56, 89, 23, 4, 2]

反向列表 reverse()

1 a=['张三','钮七','李四','王五','赵六','钮七','陈二']
2 
3 a.reverse()       #反向列表中元素
4 print(a)

结果:

"D:\Program Files (x86)\python36\python.exe" F:/python从入门到放弃/6.4/list_lesson.py
['陈二', '钮七', '赵六', '王五', '李四', '钮七', '张三']

Process finished with exit code 0

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。 

sort()方法语法:

list.sort(cmp=None, key=None, reverse=False)
  • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

返回值

该方法没有返回值,但是会对列表的对象进行排序。

 

 

posted @ 2018-06-04 12:42  巨兽~墨菲特  阅读(138)  评论(0编辑  收藏  举报