详细内容或原文请订阅后点击阅览
常见的Python标准库功能
认为Python标准库是可以预测的吗?想一想。本文介绍了在有趣的环境中使用熟悉功能的有趣方法。
来源:KDnuggets#简介
#您知道Python标准库的基础知识。您可能已经使用了Zip()和GroupBy()之类的功能来处理日常任务而不会大惊小怪。但这是大多数开发人员想念的:这些相同的功能可以以您可能从未考虑过的方式解决令人惊讶的“罕见”问题。本文解释了熟悉的Python功能的其中一些用途。
zip()
groupby()
🔗链接github上的代码
链接到GitHub上的代码#1。itertools.groupby()用于运行长度编码
itertools.groupby()
大多数开发人员将groupby()视为逻辑上数据分组的简单工具,但它对于运行长度编码也很有用,这是一种计算连续相同元素的压缩技术。此函数自然将相邻匹配项组合在一起,因此您可以将重复序列转换为紧凑的表示。
来自Itertools Import Groupby
#从服务器日志分析用户活动模式
user_actions = ['login','login','浏览','浏览','browse',
“购买”,“注销”,“注销”]
#压缩为模式摘要
activity_patterns = [(action,len(list(group)))
为了采取行动,请在groupby中组(用户_actions)]
打印(activity_patterns)
#计算每个活动阶段花费的总时间
total_duration = sum(计数动作,计数activity_patterns中)
print(f“ session持续{total_duration}操作”)
输出:
[('login',2),('browse',3),('publice',1),('logout',2)]
会话持续了8个操作
groupby()函数将连续的相同元素标识并将它们分组在一起。通过将每个组转换为列表并测量其长度,您可以获得每个动作按顺序发生的次数。
#2。zip()带 *用于矩阵换位
矩阵换位 - 将行分为列 - 当您将Zip()与Python的拆箱操作员相结合时,变得简单。
*
#3。维护排序订单的一分为二
二等
前3名球员:[('David',3350),('Bob',3100),('eva',2900)]
HAPQ
来自Itertools Import Groupby #从服务器日志分析用户活动模式 user_actions = ['login','login','浏览','浏览','browse', “购买”,“注销”,“注销”] #压缩为模式摘要 activity_patterns = [(action,len(list(group))) 为了采取行动,请在groupby中组(用户_actions)] 打印(activity_patterns) #计算每个活动阶段花费的总时间 total_duration = sum(计数动作,计数activity_patterns中) print(f“ session持续{total_duration}操作”)
输出:
[('login',2),('browse',3),('publice',1),('logout',2)] 会话持续了8个操作
groupby()函数将连续的相同元素标识并将它们分组在一起。通过将每个组转换为列表并测量其长度,您可以获得每个动作按顺序发生的次数。
#2。zip()带 *用于矩阵换位
矩阵换位 - 将行分为列 - 当您将Zip()与Python的拆箱操作员相结合时,变得简单。
*
#3。维护排序订单
二等
前3名球员:[('David',3350),('Bob',3100),('eva',2900)]HAPQHAPQ
