data = [1, 3, -5, 7, 9, -11]
for i in range(len(data)):
if data[i] < 0:
print(f"索引:{
i},元素:{
data[i]}")
输出:
索引:2,元素:-5
索引:5,元素:-11
虽然这种方法有效,但如果使用 Python 内置的 enumerate
函数会更好,这个函数会返回遍历过程中当前索引和当前元素值作为一个元组,因此可以直接输出索引和值:
data = [1, 3, -5, 7, 9, -11]
for i, v, in enumerate(data):
if v < 0:
print(f"索引:{
i},元素:{
v}")
输出:
索引:2,元素:-5
索引:5,元素:-11
2. 深入理解 list
,替代 for
循环
假如我们要创建一个从0~9的平方数的列表,一种简单的方法是先创建一个 list
,然后通过for
循环每次将一个数的平方 append
到列表的结尾。
squares = []
for i in range(10):
squares.append(i ** 2)
print(squares)
输出:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
但其实通过列表生成式,我们有一种更快捷的方法,只需要一行代码就能够实现相同的功能。
squares = [i ** 2 for i in range(10)]
print(squares)
输出:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
3. 通过 Python 内置的 sorted()
方法对复杂的对象进行排序
排序的需求在很多场景中都很常见,Python中的可迭代对象(列表、元组、字典)都可以进行排序,内置函数 sorted()
让我们甚至都不需要自己实现排序算法。
data = [1, 3, -5, 7, 9, -11]
sortedData = sorted(data)
print(sortedData)
输出:
[-11, -5, 1, 3, 7, 9]
sorted()
方法自动将列表按照升序排序,如果你想按照降序排序,可以使用 sorted()
的参数 reverse = True
。
sorted()
方法同样也适用于元组类型的数据,但是注意排序的结果将返回一个列表。
data = (1, 3, -5, 7, 9, -11)
print(data)
sortedData = sorted(data)
print(sortedData)
输出:
(1, 3, -5, 7, 9, -11)
[-11, -5, 1, 3, 7, 9]
对于复杂的可迭代对象,比如我们可以创建一个列表,列表中的每一个元素都是一个人的字典信息,然后我们按照每个人的年龄进行排序。
我们可以用 sorted()
的 key
参数,传入一个匿名函数,让排序按照我们预想的方式进行。
data = [{
“name”: “Alex”, “age”: 18},
{
“name”: “Band”, “age”: 21},
{
“name”: “Coco”, “age”: 17}]
sorted_data = sorted(data, key=lambda x: x[“age”])
print(sorted_data)
输出:
[{‘name’: ‘Coco’, ‘age’: 17}, {‘name’: ‘Alex’, ‘age’: 18}, {‘name’: ‘Band’, ‘age’: 21}]
4. 使用集合 Set
存储唯一值
如果你有一个包含多个值的列表,并且需要去重,一个不错的技巧是将我们的列表转换为一个集合。
Python的集合是一种无序的数据类型,并且没有重复元素,还提供了不同集合之间的运算,可以求交集、并集和差集。
data = [1, 3, 3, 5, 5, 5, 7, 7, 7, 7, 9, 9, 9, 9, 9]
setData = set(data)
print(setData)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-xj7o2a5T-1712462890400)]