欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

python

马哥 今日小技巧 按value排序字典 有大用

按value排序字典

Python的内置字典数据类型是无序的,而key可以被用来获取对应的value。有时我们需要根据value对字典中的item进行排序输出。方法如下所示:


方法一:用sorted函数排序,其中key参数是lamda表达式。

a = {'a':100,'b':20, 'c':150, 'd':1}

print(sorted(a.items(), key=lambda x:x[1]))


方法二:用operator.itemgetter而不是lamda表达式进行排序。

from operator import itemgetter

print(sorted(a.items(), key=itemgetter[1]))


方法三:如果只需得到排序后的key,可用.get

print(sorted(a, key=a.get()))       

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 Python3.8的functools中新增了叫cached_property的装饰器 有大用

Python3.8的functools中新增了叫cached_property的装饰器,看名字应该大概知道什么作用了,看以下例子:

from functors import cached_property

class A:

@cached_property

def say(self):

print(‘****’)

return ‘hello’


a = A()

a.say

以上例子只有第一次访问say属性时才会打印****


普通分类: 

马哥 今日小技巧 Python中的is和==的区别 有大用

Python中的is和==的区别,is时检查对象的标识符是否一致,也就是比较两个对象在内存中的地址是否一样,而==用来检查两个对象是否相等。例如在判断a is b时 相当于在判断id(a) == id(b),a == b 则是调用对象的__eq__方法,相当于a.__eq__(b)。

linux:

Nginx Method Limit

[xxx@xx conf]$ cat http_method_limit.conf

if ($request_method = PUT ) {

    return 403;

}


if ($request_method = TRACE ) {

    return 403;

}


if ($request_method = DELETE ) {

    return 403;

}


普通分类: 

马哥 今日小技巧 通过zip函数同时迭代多个序列,其可迭代次数取决于长度最小的序列。 有大用

通过zip函数同时迭代多个序列,其可迭代次数取决于长度最小的序列。

for a, b in zip(['a', 'b', 'c'], [1, 2, 3]):

    print(a, b)

    

输出结果:

a 1

b 2

c 3

linux:

Nginx Upload Deny

[xx@xxx conf]$ cat deny_uploads.conf

location /uploads/ {

    location ~ .*\.(php|php5)?$ {

        deny all;

    }

}


普通分类: 

马哥 今日小技巧 通过itertools.chain连续迭代多个序列,看以下例子 有大用

通过itertools.chain连续迭代多个序列,看以下例子:

from itertools import chain

a = ['a', 'b', 'c']

b = [1, 2, 3]


for x in chain(a, b):

    print(x)


输出结果:

a

b

c

1

2

3





普通分类: 

利用MD5对字符串和文件进行加密

普通分类: 

计算文件的md5值

利用Python计算文件MD5值(从前台上传一个文件,后台计算MD5值后,返给前端)

普通分类: 

python

image.png

普通分类: 

[Python]新手写爬虫全过程(已完成)

普通分类: 

python 网络爬虫入门(一)———第一个python爬虫实例 python网络爬虫入门(二)———模拟登陆知乎 python网络爬虫入门(三)———多线程

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。Scratch,是抓取的意思,这个Python的爬虫框架叫Scrapy,大概也是这个意思吧,就叫它:小刮刮吧。Scrapy 使用了 Twisted异步网络库来处理网络通讯。整体架构大致如下

普通分类: 

一个Python小白5个小时爬虫经历

  最近业余在做一个基于.NET Core的搜索项目,奈何基层代码写好了,没有看起来很华丽的数据供测试。很巧的也是博客搜索,于是乎想到了博客园。C#也能做做页面数据抓取的,不过在博客园看到的大部分都是python实现,所以就临时想了一下看看python到底是什么东东,不看基础语法,不看语言功能,直接上代码,哪里不会搜哪里。代码完成总共用时大概4个小时,其中搭建环境加安装BeautifulSoup大概1个小时。解析HTML用时间最多了,边看demo边解析,大概2个小时,剩下的时间就是调试加保存数据了。

普通分类: 

python 多线程就这么简单

普通分类: 

python的多线程到底有没有用?

在群里经常听到这样的争执,有人是虚心请教问题,有人就大放厥词因为这个说python辣鸡。而争论的核心无非就是,python的多线程在同一时刻只会有一条线程跑在CPU里面,其他线程都在睡觉。这是真的吗?

普通分类: 

Python的from import和import的区别?

我刚开始学习Python,对于import和from import我觉得应该是有区别的,但是在网上搜了一圈,还是没有解答我的疑惑。
普通分类: 

查看python已经安装的模块

由于正在学习,就不可避免的学到python中怎样安装模块,比如用easy_install安装就很方便,但是该命令只管安装和删除,却不管列出当前已经安装哪些模块,让用惯pkg_info 的我很不适宜。
普通分类: 

大家都用 Python 来做什么啊

普通分类: 

python strip()函数 介绍 python 移除首尾空格 文心一言 chatgpt 有大用 有大大用

普通分类: 

Event Loop

event loop 对象包含两个部分:event 和 loop。event 负责 I/O 事件通知而 loop 负责循环处理 I/O 通知并在就绪时调用回调。
普通分类: 

Python 标准库 18.5 - asyncio

Event Loop


普通分类: 

PYTHON ASYNCIO库的学习和使用

因为要找工作,把之前自己搞的爬虫整理一下,没有项目经验真蛋疼,只能做这种水的不行的东西。。。T  T,希望找工作能有好结果。

之前爬虫使用的是requests+多线程/多进程,后来随着前几天的深入了解,才发现,对于爬虫来说,真正的瓶颈并不是CPU的处理速度,而是对于网页抓取时候的往返时间,因为如果采用requests+多线程/多进程,他本身是阻塞式的编程,所以时间都花费在了等待网页结果的返回和对爬取到的数据的写入上面。而如果采用非阻塞编程,那么就没有这个困扰。这边首先要理解一下阻塞和非阻塞的区别

普通分类: 

Python rstrip()方法

描述

普通分类: 

从零开始:写一个简单的Python框架

你为什么想搭建一个Web框架?我想有下面几个原因:

普通分类: 

协程与yield表达式

在函数内,yield语句还可以用作出现在赋值运算符右边的表达式,例如:
普通分类: 

Python yield 使用浅析

初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能。
普通分类: 

python 中的字符串连接 相加


 

普通分类: 

Python格式化输出

今天写程序又记不清格式化输出细节了……= =索性整理一下。
普通分类: 

(7)Python爬虫——爬取豆瓣电影Top250

普通分类: 

python下字符编码和解码问题:UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0'

先说说我为何出现了这个问题,因为学完爬虫后想拿豆瓣电影Top250练练手,这个是参考的链接(http://blog.csdn.net/fighting_no1/article/details/50926008),该博客的代码几乎把豆瓣电影上的内容全解析了,于是我先保
普通分类: 

【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法

Python 2.x中的字符编码,设计的的确不好,导致初学者,甚至是即使用Python很长时间的人,都会经常遇到字符编解码方面的错误。
普通分类: 

页面

Subscribe to RSS - python