Python基础学习笔记(04)
一、今日内容大纲
- 列表
- 元组(了解)
- range
二、list 列表
-
列表
列表可以承载任意数据类型,存储大量的数据,是python常用的数据类型,可进行切片、索引等基本操作。以下为列表的基本形式:
list = ['Raigor',123,True,[1,2,3]]
-
列表的索引与切片
列表是有序的,切片与索引操作与字符串操作类似。
list = ['Raigor',123,True,[1,2,3]] print(list[0],type(list[0])) print(list[1],type(list[1])) print(list[2],type(list[2])) print(list[3],type(list[3])) print(list[:2],type(list[:2]))
程序运行结果为:
Raigor <class 'str'> 123 <class 'int'> True <class 'bool'> [1, 2, 3] <class 'list'> ['Raigor', 123] <class 'list'>
-
列表的创建
-
方式一
l1 = [1,2,'raigor']
-
方式二
l1 = list('dasdasdsa') #可迭代对象 print(l1)
程序运行结果为:
['d', 'a', 's', 'd', 'a', 's', 'd', 's', 'a']
-
方式三:列表推导式(今天暂不学习)
-
-
增删改查
首先先声明一个列表:
l1 = ['a','b','c','d','e']
1)增加操作
-
append函数:在列表的最后追加值
l1.append('xx') #print(l1.append('xx'))的返回值为None print(l1)
程序运行结果为:
['a', 'b', 'c', 'd', 'e', 'xx']
-
insert函数:在列表中间插入值
l1.insert(2,'xxx') print(l1)
程序运行结果为:
['a', 'b', 'xxx', 'c', 'd', 'e']
-
extend函数:迭代追加
l1.extend('abcd') print(l1)
程序运行结果为:
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd']
tips:迭代追加的对象为函数括号内的最小元素,如:
l1.extend(['abcd',]) print(l1)
程序运行结果为:
['a', 'b', 'c', 'd', 'e', 'abcd']
2)删除操作
-
pop函数:按照索引删除(返回删除的元素)
分别运行以下代码:
l1.pop(-2) print(l1)
print(l1.pop(-2))
l1.pop() #默认删除最后一个 print(l1)
运行结果分别为:
['a', 'b', 'c', 'e']
['a', 'b', 'c', 'e']
['a', 'b', 'c', 'd']
-
remove函数:指定元素删除,如果有重名元素,默认删除从左数第一个元素
l1.remove('a') print(l1)
程序运行结果为:
['b', 'c', 'd', 'e']
-
clear函数:清空列表,将指定列表清为空列表
l1.clear() print(l1)
程序运行结果为:
[]
-
del函数:可按照索引或按照切片删除
#按照索引删除 del l1[-1] print(l1) #按照切片删除 del l1[::2] print(l1)
程序运行结果分别为:
['a', 'b', 'c', 'd']
['b', 'd']
3)修改操作:
-
直接编辑索引元素
l1[0] = '回归之音'
-
按照切片迭代修改(了解)
l1[2:] = '回归之音' print(l1)
程序运行结果为:
['a', 'b', '回', '归', '之', '音']
-
按照切片规定步长修改
l1[::2] = 'abc' #l1[::2] = 'abcd' 不符合步长会报错 print(l1)
程序运行结果为:
['a', 'b', 'b', 'd', 'c']
4)查找操作:
-
索引
-
切
-
in函数
list = [1,2,3,'Raigor'] if 1 in list: print('Y') if 'Raigor' in list: print('Y')
程序运行结果为:
Y Y
-
for函数
for i in l1: print(i)
程序运行结果为:
a b c d e
-
三、列表的嵌套
四、tuple 元组(了解)
-
元组
是一种制只读列表,可以存储大量的数据,可以进行索引、切片操作,不可修改。其基本形式如下:
tu = ('Raigor',123,True,[1,2,3])
TIPS:虽然元组不可修改,但元组内嵌套的列表中的元素可以修改,如:
tu[3].append('sb') print(tu)
程序运行结果为:
('Raigor', 123, True, [1, 2, 3, 'sb'])
-
元组的拆包
a, b = (1, 2) print(a,b)
程序运行结果为:
1 2
TIPS:列表也可以拆包,但是一般很少使用。
五、range
-
range
类似于列表,子定制数字范围的数字列表,具有索引、切片等功能,其基本形式如下:
r = range(0,5)
-
range的使用
for i in range(5): print(i) for i in range(2,5,2): print(i) for i in range(5,,-1): print(i)
程序运行结果为:
0 #1 1 2 3 4 2 #2 4 5 4 #3 3 2 1