Python基础练习:数据结构大汇总Day4
一、学习内容概括
学习地址:https://tianchi.aliyun.com/s/77b6f6a4bb79399b5fa536e511f8fcf5
今天主要学习的内容有:列表与元组
二、具体学习内容
异常就是运行期检测到的错误。计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行。
1 列表
1.1 列表的定义
1.2 列表的创建
1.创建一个普通列表
x = ['good','better','best','bad','worse','worst']
print(x,type(x))
y = [1,2,3,4,5,6]
print(y,type(y))
结果:
2.利用range()创建列表
x = list(range(10))
print(x,type(x))
y = list(range(1,11,2))
print(y,type(y))
z = list(range(10,1,-2))
print(z,type(z))
结果:
3.利用推导式创建列表
x = [0]*5
print(x,type(x))
x = [i for i in range(10)]
print(x,type(x))
x = [i for i in range(1,10,2)]
print(x,type(x))
x = [i for i in range(10,1,-2)]
print(x,type(x))
x = [i ** 2 for i in range(1,10)]
print(x,type(x))
x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
print(x,type(x))
结果:
注意:
由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。即使保存一个简单的[1,2,3]
,也有3个指针和3个整数对象。
x = [a] * 4
操作中,只是创建4个指向list的引用,所以一旦a
改变,x
中4个a
也会随之改变。
x = [[0]*3]*4
print(x,type(x))
x[0][0] = 1
print(x,type(x))
a = [0]*3
x = [a]*4
print(x,type(x))
x[0][0] = 1
print(x,type(x))
结果:
4.创建一个混合列表
mix = [1,'lasso',3.14,[1,2,3]]
print(mix,type(mix))
结果:
5.创建一个空列表
empty = []
print(empty,type(empty))
结果:
1.3 向列表中添加元素
x = ['Monday','Tuesday','Wednesday','Thursday','Friday']
x.append('Thursday')
print(x)
print(len(x))
结果:
注意:
此元素如果是一个 list,那么这个 list 将作为一个整体进行追加,注意append()和extend()的区别。
x = ['Monday','Tuesday','Wednesday','Thursday','Friday']
x.append(['Thursday','Sunday'])
print(x)
print(len(x))
结果:
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.extend(['Thursday', 'Sunday'])
print(x)
print(len(x))
结果:
注意:
严格来说 append 是追加,把一个东西整体添加在列表后,而 extend 是扩展,把一个东西里的所有元素添加在列表后。
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.insert(2, 'Sunday')
print(x)
print(len(x))
结果:
1.4 删除列表中的元素
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.remove('Monday')
print(x)
结果:
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
y = x.pop()
print(y) # Friday
y = x.pop(0)
print(y) # Monday
y = x.pop(-2)
print(y) # Wednesday
print(x) # ['Tuesday', 'Thursday']
结果:
注意:
remove 和 pop 都可以删除元素,前者是指定具体要删除的元素,后者是指定一个索引。
如果知道要删除的元素在列表中的位置,可使用del语句。
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
del x[0:2]
print(x) # ['Wednesday', 'Thursday', 'Friday']
结果:
注意:
如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。
1.5 获取列表中的元素
x = ['Monday', 'Tuesday', 'Wednesday', ['Thursday', 'Friday']]
print(x[0], type(x[0])) # Monday <class 'str'>
print(x[-1], type(x[-1])) # ['Thursday', 'Friday'] <class 'list'>
print(x[-2], type(x[-2])) # Wednesday <class 'str'>
结果:
2 元组
2.1 创建和访问一个元组
2.2 更新和删除一个元组
2.3 元组相关的操作符
2.4 内置方法
2.5 解压元组
三、学习总结
通过这次学习,对python的列表和元组进行了系统的了解和掌握,对基本的知识有了系统的梳理。