刻意练习Python基础 ——day 03:列表与元组(上)
Day 01——Task01:变量、运算符与数据类型
Day 02——Task02:条件与循环
Day 03——Task03:列表与元组(上)
Day 04——Task03:列表与元组(下)
Day 05——Task04:字符串与序列
Day 06——Task05:函数与Lambda表达式(上)
Day 07——Task05:函数与Lambda表达式(下)
Day 08——Task06:字典与集合
Day 09——Task07:文件与文件系统(上)
Day 10——Task07:文件与文件系统(下)
Day 11——Task08:异常处理
Day 12——Task09:else 与 with 语句
Day 13——Task10:类与对象(上)
Day 14——Task10:类与对象(下)
Day 15——Task11:魔法方法(上)
Day 16——Task11:魔法方法(下)
Day 17——Task12:模块
文章目录
- 1.列表List
- 1.1访问列表中的值
- 1.2向列表添加元素
- 1.2.1通过 list.append(obj)方法
- 1.2.2通过list.extend(seq)方法
- 1.2.3通过list.insert(index, obj))方法
在Python中,若将int整型、float浮点型、bool布尔型和str字符串单个数据,则可以将这些数据都放在一个容器里得到一个 「容器类型」 的序列,比如:列表(List)、元组(Tuple)、字典(Dict)、集合(Set)。
Python有6个序列的内置类型,序列都可以进行的操作包括索引,切片,加,乘,
7ff7
检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
1.列表List
- 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同类型
- 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['Mive','-Vax', 5, 3]; list2 = [1, 2, 3, 4, 5 ]; list3 = ['Mive','-Vax', [3, 5]];
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
1.1访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
list1 = ['Mive','-Vax', 5, 3] sample = [1, 2, 3, 4, 5, 6, 7, 8, 9 ] print ("list1[0]: ", list1[0]) print ("sample[3:5]: ", sample[3:5]) print ("sample[-5:-3]: ", sample[-5:-3]) # list1[0]: Mive # sample[3:5]: [4, 5] # sample[-5:-3]: [5, 6]
1.2向列表添加元素
1.2.1通过 list.append(obj)方法
append(obj) 在列表末尾添加新对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在 list 中保持着原结构类型。
list1 = ['Mive','-Vax', 5] list1.append('3') print ("更新后的列表 : ", list1) # 更新后的列表 : ['Mive', '-Vax', 5, '3']
注意:append()方法与 + 连接操作符还是存在差异的。 + 连接操作符两端的类型需要一致。
list1 = ['Mive','-Vax', 5] list2 = 3 list1.append(list2) print ("更新后的列表 : ", list1) # 更新后的列表 : ['Mive', '-Vax', 5, 3] list1 = ['Mive','-Vax', 5] list2 = 3 list1 += list2 print ("更新后的列表 : ", list1) # TypeError: 'int' object is not iterable
1.2.2通过list.extend(seq)方法
extend(seq) 方法用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
list1 = ['Mive','-Vax'] list1.extend([5,'3']) print ("更新后的列表 : ", list1) # 更新后的列表 : ['Mive', '-Vax', 5, '3']
1.2.3通过list.insert(index, obj))方法
insert(index, obj))方法用于将指定对象obj插入列表的指定位置index。
list1 = ['Mive', 5, 3] list1.insert(1, '-Vax') print ("更新后的列表 : ", list1) # 更新后的列表 : ['Mive', '-Vax', 5, 3]
1.3修改列表中的值
直接通过下标索引来修改列表中的值
list1 = ['Mive', '-Vax', 5, 3] print ("列表:", list1) list1[2] = 8 print ("更新后的列表:", list1) # 列表: ['Mive', '-Vax', 5, 3] # 更新后的列表: ['Mive', '-Vax', 8, 3]
1.4删除列表中的值
1.4.1通过 list.remove(obj) 方法
不需要知道参数的索引值,只需要知道参数的值既可完成删除
list1 = ['Mive', '-Vax', 5, 3] print ("列表:", list1) list1.remove('Mive') print ("更新后的列表:", list1) # 列表: ['Mive', '-Vax', 5, 3] # 更新后的列表: ['-Vax', 5, 3]
注意:若删除list中不存在的值,则会报错。
1.4.2通过 del 语句
可以使用 del 语句来删除列表的一个或多个元素
list1 = ['Mive', '-Vax', 5, 3] del list1[1], list[2] print (list1) # ['Mive', 3]
也可以使用 del 语句来删除列表
list1 = ['Mive', '-Vax', 5, 3] del list1 print (list1) # NameError: name 'list1' is not defined
1.4.3通过 list.pop([index=-1]) 语句
因为Python中的List是利用stack栈这种数据结构进行存储的,所以可以使用pop弹栈弹出元素,故存在返回值。
list1 = ['Mive', '-Vax', 5, 3] num = list1.pop() print (list1,num) # ['Mive', '-Vax', 5] 3 list1 = ['Mive', '-Vax', 5, 3] list1.pop(1) print (list1) # ['Mive', 5, 3]
1.5列表分片与拼接
1.5.1列表分片
Python的列表截取与字符串操作类型为
list[start : stop : step]
意为索引下标从start开始到stop - 1步长为step,复制出一个新的列表。
list1 = ['Mive', '-Vax', 5, 3,'Mive1', '-Vax1', 51, 31] print(linst[1:5]) # ['-Vax', 5, 3, 'Mive1'] print(linst[1:]) # ['-Vax', 5, 3, 'Mive1', '-Vax1', 51, 31] print(linst[:5]) # ['Mive', '-Vax', 5, 3, 'Mive1'] print(linst[:]) # ['Mive', '-Vax', 5, 3, 'Mive1', '-Vax1', 51, 31] print(linst[1:7:2]) # ['-Vax', 3, '-Vax1'] print(linst[::-1]) #[31, 51, '-Vax1', 'Mive1', 3, 5, '-Vax', 'Mive']
注意:若令step = -1,相当于将列表翻转。
1.5.2列表拼接
列表拼接有两种方式,用 ’ + ’ 连接操作符和 ’ * ’ 重复操作符 ,前者首尾拼接,后者复制拼接。
list1 = ['Mive', '-Vax', 5, 3] list2 = ['Mive1', '-Vax1', 51, 31] print(list1 + list2) # ['Mive', '-Vax', 5, 3, 'Mive1', '-Vax1', 51, 31] print(list1 * 3) # ['Mive', '-Vax', 5, 3, 'Mive', '-Vax', 5, 3, 'Mive', '-Vax', 5, 3]
1.5.3嵌套列表
使用嵌套列表即在列表里创建其它列表,例如:
list1 = ['Mive', '-Vax', 5, 3] list2 = ['Mive1', '-Vax1', 51, 31] list3 = [list1, list2] print(list3) # [['Mive', '-Vax', 5, 3], ['Mive1', '-Vax1', 51, 31]] print(list3 [1]) # ['Mive1', '-Vax1', 51, 31] print(list3 [0][1]) # -Vax
1.6列表的常用操作符
1.6.1比较操作符
即
>、
>=、
<、
<=、
==、
!=
list0 = [5, 3] list1 = [5, 31] list2 = [51, 3] print(list0 > list2) # False print(list0 > list1) # False print(list1 > list2) # False
1.6.2逻辑操作符
即
and、
or、
not
list0 = [5, 3] list1 = [5, 31] list2 = [51, 3] print(list0 > list2 and list0 > list1) # False print(list0 > list2 or list0 > list1) # False print(not(list1 > list2)) # True
1.6.3成员关系操作符
即
in、
not in
list1 = ['Mive', '-Vax', 5, 3] print(5 in list1) # True print(51 not in list1) # True
1.7列表的一些其他函数&方法
1.7.1列表函数
1.7.1.1 len(list) 函数
len(list)函数返回列表元素个数。
list1 = ['Mive', '-Vax', 5, 3] print (len(list1)) # 4 list2=list(range(5)) print (list2, len(list2)) # [0, 1, 2, 3, 4] 5
1.7.1.2 max(list) 函数
max(list)函数返回列表元素最大值
list1 = ['Mive', '-Vax', '5', '3'] list2=list(range(5)) print ("list1 最大元素值 : ", max(list1)) print ("list2 最大元素值 : ", max(list2)) # list1 最大元素值 : Mive # list2 最大元素值 : 4
1.7.1.3 min(list) 函数
min(list)函数返回列表元素最小值
list1 = ['Mive', '-Vax', '5', '3'] list2=list(range(5)) print ("list1 最小元素值 : ", min(list1)) print ("list2 最小元素值 : ", min(list2)) # list1 最小元素值 : -Vax # list2 最小元素值 : 0
1.7.1.4 list(seq)函数
将元组转换为列表
tuple1 = ('Mive', '-Vax', '5', '3') print (tuple1, type(tuple1)) list1=list(tuple1) print (list1, type(list1)) # ('Mive', '-Vax', '5', '3') <class 'tuple'> # ['Mive', '-Vax', '5', '3'] <class 'list'>
1.7.2列表的一些其他方法
1.7.2.1 count(obj)方法
count(obj)方法用于统计某个元素在列表中出现的次数。
list1 = ['Mive', '-Vax', '5', 3] list1 *= 8 print ("3 元素个数 : ", list1.count(3)) # 3 元素个数 : 8
1.7.2.2 reverse()方法
reverse()方法用于反向列表中元素。
list1 = ['Mive', '-Vax', '5', 3] list1.reverse() print (list1) # [3, '5', '-Vax', 'Mive'] print (list1[::-1]) # ['Mive', '-Vax', '5', 3]
1.7.2.3 sort()方法
sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
list.sort( key=None, reverse=False)
key
— 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse
— 排序规则,reverse = True 降序, reverse = False 升序(默认)。
list1 = ['b', 'a', 'd', 'c', 'e'] list1.sort() print ( '升序输出:', list1 ) list1.sort(reverse=True) print ( '降序输出:', list1 ) # 升序输出: ['a', 'b', 'c', 'd', 'e'] # 降序输出: ['e', 'd', 'c', 'b', 'a']
def takeSecond(list1): return list1[1] list1 = [[0,5],[2,2],[7,3],[5,4],[1,8]] list1.sort(key=takeSecond) print('排序列表:', list1) # 排序列表: [[2, 2], [7, 3], [5, 4], [0, 5], [1, 8]]
1.7.2.4 clear()方法
clear()方法用于清空列表,类似于
del list[:]。
list1 = ['Mive', '-Vax', '5', 3] list1.clear() print("列表清空后 : " , list1) # 列表清空后 : []
1.7.2.5 copy()方法
copy()方法用于复制列表,类似于
list[:]。
list1 = ['Mive', '-Vax', '5', 3] list2 = list1.copy() print ("list2 列表: ", list2) # list2 列表: ['Mive', '-Vax', '5', 3]
- 刻意练习Python基础 ——day 03:列表与元组(上)
- 刻意练习Python基础 ——day 04:列表与元组(下)
- 刻意练习Python基础——day 07:函数与Lambda表达式(下)
- 刻意练习Python基础——day 01:变量、运算符与数据类型
- 刻意练习Python基础——day 02:条件与循环
- day15 python-03 列表,元组,字典
- 刻意练习Python基础 ——day 02:条件与循环
- Python基础:03序列:字符串、列表和元组
- 重学Python - Day 03 - python基础 -> while循环实例 + Continue && break的应用 + 列表的初步学习
- 刻意练习Python基础 ——day 05:字符串与序列
- Python基础练习之列表,字典,元组:统计字符数,输出最大之最小值,路径组装
- python基础与高级特性(三):列表与元组(练习)
- python基础与高级特性(三):列表和元组
- 小甲鱼python零基础课后习题012列表:一个打了激素的数组03
- python基础_制作多级菜单_(运用:字典_列表_元组等知识)
- Python基础教程之第2章 列表和元组
- python学习(基础补充)--字符串、列表、元组
- 【python】元组基础知识tuple(和列表的区别)
- python基础-列表、元组、字典(二)
- Python 基础教程之列表元组