2024年Python最新Python零基础入门(五)——超详细的列表和元组介绍,高级Python开发面试题

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

在这里插入图片描述

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

在这里插入图片描述

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

phone = ["华为","小米","OPPE","VIVO"]
print(phone \* 3)

在进行序列的乘法运算时,还可以实现初始化指定长度列表的功能。例如下面的代码,将创建一个长度为 5 的列表,列表的每个元素都是 None,表示什么都没有。

emptylist = [None] \* 5
print(emptylist)

检查某个元素是否是序列的成员(元素)

在 Python 中,可以使用 in 关键字检查某个元素是否是序列的成员,即检查某个元素是否包含在该序列中,也可以使用 not in 关键字实现检查某个元素是否不包含在指定的序列中。示例代码如下:

nba = ["史蒂芬.库里","克莱.汤普森","马努.吉诺比利","凯文.杜兰特"]
print("凯文.杜兰特" in nba)				# 将显示 True,表示在序列中存在指定的元素
print("凯文.杜兰特" not in nba)			# 将显示 False,表示在序列中并非不存在指定的元素

计算序列的长度、最大值和最小值

在 Python 中,提供了内置函数计算序列的长度、最大值和最小值。分别是:使用 len() 函数计算序列的长度,即返回序列包含多少个元素;使用 max() 函数返回序列中的最大元素;使用 min() 函数返回序列中的最小元素。示例代码如下:

num = [2,8,9,4,5]
print(len(num))
print(max(num))
print(min(num))

除了上面介绍的 3 个内置函数,Python 还提供了下表所示的内置函数:

函数作用
list()将序列转换为列表
str()将序列转换为字符串
sum()计算元素和
sorted()对元素进行排序
reversed()反向序列中的元素
enumerate()将序列组合为一个索引序列,多用在 for 循环中

列表(list)

列表是 Python 中最常用的数据结构之一,它是一个有序的、可变的序列。在形式上,列表的所有元素都放在一对中括号 “[]” 中,两个相邻元素间使用逗号 “,” 分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,并且同一个列表中,元素的类型可以不同,因为它们之间没有任何关系。

列表的创建和删除

在 Python 中提供了多种创建列表的方法,下面分别进行介绍。

  1. 使用赋值运算符直接创建列表

同其他类型的 Python 变量一样,创建列表时,也可以使用赋值运算符 “=” 直接将一个列表赋值给变量,示例代码如下:

num = [2,8,9,4,5]
python = ['优雅','明确','简单']
mixed =  ['Python',28,"人生苦短,我用Python",["爬虫","自动化运维","云计算","Web开发"]]

  1. 创建空列表

在 Python 中,也可以创建空列表,例如,要创建一个名称为 emptylist 的空列表,可以使用下面的代码:

emptylist = []

  1. 创建数值列表

在 Python 中,数值列表很常用。可以使用 list() 函数直接将 range() 函数循环出来的结果转换为列表。例如,创建一个 10~20 之间(不包括20)所有偶数的列表,可以使用下面的代码:

datalist = list(range(10,20,2))

  1. 删除列表
    对于已经创建的列表,不再使用时,可以使用 del 语句将其删除(在实际开发时,并不常用。因为 Python 自带的垃圾回收机制会自动销毁不用的列表,所以即使我们不手动将其删除,Python 也会自动将其回收)。
python = ['优雅','明确','简单']
del python

访问列表元素

使用索引即可访问列表中指定元素:

mixed =  ['Python',28,"人生苦短,我用Python",["爬虫","自动化运维","云计算","Web开发"]]
print(mixed)			# 在输出列表时,是包括左右两侧的中括号的
print(mixed[1])			
print(mixed[2])		# 在输出单个列表元素时,不包括中括号,如果是字符串,不包括左右的引号
print(mixed[:3])	# 输出第 1 个到第 3 个列表元素

遍历列表

遍历列表中的所有元素是常用的一种操作,在遍历的过程中可以完成查询、处理等功能。下面介绍两种常用的方法:

  1. 直接使用 for 循环实现

直接使用 for 循环遍历列表,只能输出元素的值,示例代码如下:

nba = ['圣安东尼马刺','洛杉矶湖人','金州勇士','休斯顿火箭']
print('2022年NBA四强:')
for item in nba:
	print(item)

  1. 使用 for 循环和 enumerate() 函数实现

使用 for 循环和 enumerate() 函数可以实现同时输出索引值和元素内容的功能,示例代码如下:

nba = ['圣安东尼马刺','洛杉矶湖人','金州勇士','休斯顿火箭']
print('2022年NBA四强:')
for index,item in enumerate(nba):   
	print(index+1,item)

添加、修改和删除列表元素

添加、修改和删除列表元素也称为更新列表。在实际开发时,经常需要对列表进行更新。下面我们就分别介绍如何实现列表元素的添加、修改和删除:

  1. 添加元素:
phone = ["华为","小米","OPPE","VIVO"]
phone.append("iPhone")			# 列表对象的 append() 方法用于在列表的末尾追加元素
print(phone)             
phone.insert(1,"荣耀")			# 除了使用 append() 向列表中添加元素,还可以使用 insert() 向指定位置插入元素
print(phone)
newphone = ["三星","1+"]
phone.extend(newphone)   # 列表对象的 extend() 方法可以将一个列表的全部元素添加到另一个列表中
print(phone)

  1. 修改元素
phone = ['华为', '荣耀', 'OPPO', 'OPPE', 'VIVO', 'iPhone', '三星', '1+']
phone[3] = "OPPO"				# 修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可
print(phone)

  1. 删除元素
phone = ['华为', '荣耀', 'OPPO', 'OPPE', 'VIVO', 'iPhone', '三星', '1+']
del phone[3]           			# 根据索引删除
print(phone)
phone.remove("1+")        # 根据元素值移除第一个匹配项
print(phone)

使用 remove() 方法删除元素前,最好先判断该元素是否存在,如果指定的元素不存在,将出现异常:

phone = ['华为', '荣耀', 'OPPO', 'OPPE', 'VIVO', 'iPhone', '三星', '1+']
value = '1+'
if phone.count(value)>0:			# 判断要删除的元素是否存在
	phone.remove(value)			# 移除指定的元素
print(phone)

对列表进行统计计算

Python 的列表提供了内置的一些函数来实现统计、计算方面的功能。如列表对象的 count() 方法可以获取指定元素在列表中的出现次数,列表对象的 index() 方法可以获取指定元素在列表中首次出现的位置(即索引),sum() 函数用于统计数值列表中各元素的和。

phone = ["华为","小米","OPPE","VIVO"]
phone.count('小米')        # 获取指定元素出现的次数
phone.index('小米')        # 获取指定元素首次出现的下标
grade = [98,99,97,100,100,96,94,89,95,100]			# 10 名学生 Python 理论成绩列表
total = sum(grade)							# 计算总成绩
print("Python 理论总成绩为:",total)

对列表进行排序

在实际开发时,经常需要对列表进行排序。Python 中提供了两种常用的对列表进行排序的方法:使用列表对象的 sort() 方法和使用内置的 sorted() 函数。

grade = [98,99,87,84,100,95]      # 使用列表对象的 sort() 方法实现
grade.sort(key = None,reverse = False)
print(grade)
grade_as = sorted(grade,reverse = True)   # 使用内置的 sorted() 函数
print(grade_as)

参数说明:

  • key:表示指定一个从每个列表元素中提取一个用于比较的键(例如,设置 “key = str.lower” 表示在排序时不区分字母大小写)。
  • reverse:可选参数,如果将其值指定为 True,则表示降序排列;如果为 False,则表示升序排列。默认为升序排列。

列表对象的 sort() 方法和内置 sorted() 函数的作用基本相同,所不同的就是使用 sort() 方法时,会改变原列表的元素排列顺序,而使用 sorted() 函数时,会建立一个原列表的副本,该副本为排序后的列表。

列表推导式

使用列表推导式可以快速生成一个列表, 或者根据某个列表生成满足指定需求的列表。列表推导式通常有以下几种常用的语法格式。

# 生成指定范围的数值列表,如生一个包括 10 个随机数的列表,要求数的范围在 10-100 之间
import random		# 导入 random 标准库
randomnumber = [random.randint(10,100) for i in range(10)]
print("生成的随机数为:",randomnumber)
# 根据列表生成指定需求的列表
x = list(range(0,10,1))
y = [int(var\*\*2 + 5\*var + 5) for var in x]
print(y)
# 从列表中选择符合条件的元素组成新的列表
price = [1200,5330,2988,6200,1998,8888]
sale = [x for x in price if x>5000]
print("原列表:",price)
print("价格高于5000的:",sale)

元组(tuple)

元组是 Python 中另一个常见的数据结构,与列表相似,但是它是不可变序列。因此,元组也可以称为不可变的列表。在形式上,元组的所有元素都放在一对 “()” 中,两个相邻元素间使用逗号 “,” 分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中,并且在同一个元组中,元素的类型可以不同,因为它们之间没有任何关系。通常情况下,元组用于保存程序中不可修改的内容。

元组的创建和删除

在 Python 中提供了多种创建元组的方法,下面分别进行介绍。

  1. 使用赋值运算符直接创建元组

同其他类型的 Python 变量一样,创建元组时,也可以使用赋值运算符 “=” 直接将一个元组赋值给变量,示例代码如下:

num = (7,14,21,28,35,42)
team = ('马刺','火箭','勇士','湖人')

  1. 创建空元组

在 Python 中,也可以创建空元组,例如,要创建一个名称为 emptytuple 的空元组,可以使用下面的代码:

emptytuple = ()

  1. 创建数值元组

在 Python 中,可以使用 tuple() 函数直接将 range() 函数循环出来的结果转换为数值元组。例如,创建一个 10~20 之间(不包括20)所有偶数的元组,可以使用下面的代码:

tuple(range(10,20,2))

  1. 删除元组

对于已经创建的元组,不再使用时,可以使用 del 语句将其删除(在实际开发时,并不常用。因为 Python 自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动将其删除,Python 也会自动将其回收)。

python = ('优雅','明确','简单')
del python

访问元组元素

使用索引即可访问元组中指定元素:

mixed = ('Python',28,"人生苦短,我用Python",["爬虫","自动化运维","云计算","Web开发"])
print(mixed)			# 在输出元组时,是包括左右两侧的小括号的
print(mixed[1])			
print(mixed[2])		# 在输出单个元组元素时,不包括小括号,如果是字符串,不包括左右的引号
print(mixed[:3])	# 输出第 1 个到第 3 个元组元素

遍历元组

同列表一样,元组也可以使用 for 循环进行遍历。

修改元组元素

元组是不可变序列,所以不能对它的单个元素值进行修改。但是元组也不是完全不能修改。我们可以对元组进行重新赋值。例如,下面的代码是允许的:

country = ('中国','美国','日本','韩国','英国')
country = ('中国','法国','日本','韩国','英国')
print(country)     	 # 对元组重新幅值

另外,还可以对元组进行连接组合。例如,可以使用下面的代码实现在已经存在的元组结尾处添加一个新元组。

country = ('中国','法国','日本','韩国','英国')
country2 = ('俄罗斯','印度')
print(country + country2)
country3 = ('美国',)
print(country + country2 + country3)   # 进行元组连接

如果要连接的元组只有一个元素时,一定不要忘记后面的逗号

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值