2024年最新2024Python架构面试指南,Python 高效编程技巧_python高效编程技巧进阶,2024年最新最新“美团+字节+腾讯”三面问题

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

三. 统计序列中元素出现的频度

1. 某随机序列中,找到出现次数最高的3个元素,它们出现的次数是多少?

构造随机序列如下:

data = [randint(0,20) for _ in range(20)]

方法1: 可以使用字典来统计,以列表中的数据为键,以出现的次数为值

from random import randint

def demo():
    data = [randint(0, 20) for _ in range(30)]
    # 列表中出现数字出现的次数
    d = dict.fromkeys(data, 0)
    for v in li:
        d[v] += 1
    return d

方法2:直接使用 collections 模块下面的 Counter 对象

>>> data = [randint(0, 20) for _ in range(30)]
>>> data
[7, 8, 5, 16, 10, 16, 8, 17, 11, 18, 11, 17, 15, 7, 2, 19, 5, 16, 17, 17, 12, 19, 9, 10, 0, 20, 11, 2, 11, 10]
>>> c2 = Counter(data)
>>> c2
Counter({17: 4, 11: 4, 16: 3, 10: 3, 7: 2, 8: 2, 5: 2, 2: 2, 19: 2, 18: 1, 15: 1, 12: 1, 9: 1, 0: 1, 20: 1})
>>> c2[14]
4
>>> c2.most_common(3)  # 统计频度出现最高的3个数
[(17, 4), (11, 4), (16, 3)]

2.  对某英文文章单词进行统计,找到出现次数最高的单词以及出现的次数

通过上面的练习,我们知道可以用 Counter 来解决

import re
from collections import Counter

# 统计某个文章中英文单词的词频

with open('test.txt', 'r', encoding='utf-8')as f:
    d = f.read()

total = re.split('\W+', d)  # 所有的单词列表
result = Counter(total)
print(result.most_common(10))

四.根据字典中值的大小,对字典中的项进行排序

比如班级中学生的数学成绩以字典的形式存储:

{"Lnad": 88, "Jim", 71...}

请按数学成绩从高到底进行排序!

方法1: 利用 zip 将字典转化为元组,再用 sorted 进行排序

>>> data = {x: randint(60, 100) for x in "xyzfafs"}
>>> data
{'x': 73, 'y': 69, 'z': 76, 'f': 61, 'a': 64, 's': 100}
>>> sorted(data)
['a', 'f', 's', 'x', 'y', 'z']
>>> data = sorted(zip(data.values(), data.keys()))
>>> data
[(61, 'f'), (64, 'a'), (69, 'y'), (73, 'x'), (76, 'z'), (100, 's')]

方法2: 利用 sorted 函数的 key 参数

>>> data.items()
>>> dict_items([('x', 64), ('y', 74), ('z', 66), ('f', 62), ('a', 80), ('s', 72)])
>>> sorted(data.items(), key=lambda x: x[1])
[('f', 62), ('x', 64), ('z', 66), ('s', 72), ('y', 74), ('a', 80)]

五. 在多个字典中找到公共键

实际场景:在足球联赛中,统计每轮比赛都有进球的球员

第一轮: {“C罗”: 1, “苏亚雷斯”:2, “托雷斯”: 1…}
第二轮: {“内马尔”: 1, “梅西”:2, “姆巴佩”: 3…}
第三轮: {“姆巴佩”: 2, “C罗”:2, “内马尔”: 1…}

模拟随机的进球球员和进球数

>>> s1 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1,5))}
>>> s1
{'d': 3, 'g': 2}
>>> s2 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1,5))}
>>> s2
{'b': 4, 'g': 1, 'f': 1, 'r': 4, 'd': 3}
>>> s3 = {x: randint(1, 4) for x in sample('abfcdrg', randint(1,5))}
>>> s3
{'b': 4, 'r': 4, 'a': 2, 'g': 3, 'c': 4}

首先获取字典的 keys,然后取每轮比赛 key 的交集。由于比赛轮次数是不定的,所以使用 map来批量操作

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

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

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


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

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

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

在这里插入图片描述

(2)Python学习视频

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

在这里插入图片描述

(3)100多个练手项目

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

在这里插入图片描述

(4)200多本电子书

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

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

(5)Python知识点汇总

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

在这里插入图片描述

(6)其他资料

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

在这里插入图片描述

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

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

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

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

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

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-8gR2TY7J-1713812487707)]

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

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值