operator笔记
2024-10-16 00:07:57
# operator.itemgetter(*items) # 获取item
>>> from operator import itemgetter
# list使用下标进行返回
>>> a
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> itemgetter(1)(a) # 获取a中下标为1的元组
('b', 2)
>>> itemgetter(1,3)(a) # 同时获取多个元组
(('b', 2), ('d', 4))
# dict使用键来返回
>>> a = {'one': 1, 'two':2, 'three':3}
>>> itemgetter('one')(a)
1
>>> itemgetter('one', 'two')(a)
(1, 2)
# 使用attrgetter()获取其属性
# 《python cookbook》 书籍的例子
from operator import attrgetter
class User(object):
def __init__(self, uid):
self.uid = uid
def __repr__(self):
return 'User({})'.format(self.uid)
users = [User(25), User(14), User(100)]
print(sorted(users, key=attrgetter('uid')))
"""
D:\笔记\python电子书\Python3>python index.py
[User(14), User(25), User(100)]
"""
# 使用attrgetter可以使用lambda来进行代替:
class User(object):
def __init__(self, uid):
self.uid = uid
def __repr__(self):
return 'User({})'.format(self.uid)
users = [User(25), User(14), User(100)]
print(sorted(users, key=lambda u: u.uid))
"""
D:\笔记\python电子书\Python3>python index.py
[User(14), User(25), User(100)]
"""
《python cookbook》书籍中提到attrgetter()的速度相对来说比lambda快一些,具体可使用pytest进行测试,这里不做详细测试
最新文章
- python基础05 if选择
- c#的逻辑运算符重载(二)
- Ajax嵌套调用 (jquery) $.ajaxSettings.async = false;
- HDU 3999 The order of a Tree 二叉搜索树 BST
- ios -- NSdata 与 NSString,Byte数组,UIImage 的相互转换(转)
- [leetcode]二分查找总结
- iOS 操作系统架构
- C# - List操作 - 按照字母排序
- MRD-5012型RS232,RS485有源隔离中继模块,采用磁隔离技术,金升阳DC-DC隔离电源,纯硬件自适应方向,速度高达256000bps
- LeetCode第十三题-将罗马数字转化为数字
- Emacs Org-mode 4 超连接
- LeetCode 203. Remove Linked List Elements 移除链表元素 C++/Java
- underscore.js源码解析【对象】
- css3图片旋转
- Word 如何设置空白页不编码,其他页码连续
- python-flask-SQLAlchemy-Utils组件
- mac 蓝牙开启调试模式
- node vue 开发环境部署时,外部访问页面出现: Invalid Host header 服务器域名访问出现的问题
- javascript 实现页面加载完的操作
- Jmeter————监控服务器性能
热门文章
- Delphi 10.3实现Android App的动态权限申请
- python day05作业
- JAVA线程sleep与wait区别
- 【webdriver自动化】使用unittest实现自动登录163邮箱然后新建一个联系人
- SQL*Plus连接符拼接输出
- Subsequence Count 2017ccpc网络赛 1006 dp+线段树维护矩阵
- [LeetCode&;Python] Problem 242. Valid Anagram
- [LeetCode&;Python] Problem 448. Find All Numbers Disappeared in an Array
- 极大极小搜索思想+(α/β)减枝 【转自-----https://blog.csdn.net/hzk_cpp/article/details/79275772】
- inner join 与一般笛卡尔积的区别