首页 > 编程语言 >Python 可迭代对象(list tuple等)的计算

Python 可迭代对象(list tuple等)的计算

时间:2023-03-27 16:44:38浏览次数:44  
标签:函数 tuple Python list operator 对象 print itemgetter apple

# 可迭代对象,计算和排序等处理

from itertools import groupby
from operator import itemgetter

L = [('grape', 100, 2), ('grape', 3, 2), ('apple', 15, 2), ('apple', 10, 2), ('apple', 4, 2), ('banana', 3, 2)]
for x, y in groupby(L, itemgetter(0)):
    inst_y = list(y)  # 需要实例化,因为第一次计算itertools对象后会被释放,从而第二次计算itertools对象找不到想要的结果,而实例化后不会
    # operator.itemgetter() 获取的不是值,而是定义一个函数,通过该函数作用到对象上才能获取值。
    """
    from operator import itemgetter

    a = [1, 2, 3]
    b = itemgetter(1)       # 定义函数b,获取对象的第1个值
    c = itemgetter(1, 0)    # 定义函数c,获取对象的第1、0个值
    print(b(a))  2
    print(c(a))  (2, 1)
    
    a = {'name': 'wangke', 'age':18, 'sex': 'man'}
    b = itemgetter('age')       
    c = itemgetter('name', 'age')    
    print(b(a))  18
    print(c(a))  ('wangke', 18)
    
    """
    print(sum(map(itemgetter(1), inst_y)))
    print(sum(map(itemgetter(2), inst_y)))

当然itemgetter函数也可以用匿名函数lambda代替

标签:函数,tuple,Python,list,operator,对象,print,itemgetter,apple
From: https://www.cnblogs.com/ramsey/p/17262053.html

相关文章

  • opencv-python 4.1. 改变颜色空间
    改变色彩空间OpenCV中有150多种颜色空间转换方法。我们只研究两种最广泛使用的转换方法,BGR↔Gray和BGR↔HSV。对于颜色转换,使用函数cv.cvtColor(input_image,flag),其中fla......
  • 基于YOLOv5和Python开发的中国交通标志识别系统,可识别45种交通标志,识别率高
    基于YOLOv5和Python开发的中国交通标志识别系统,可识别45种交通标志,识别率高YID:95120644426759544......
  • 基于模型强化学习的离网微电网终身控制Python源代码
    基于模型强化学习的离网微电网终身控制Python源代码离网微网的终身控制问题包括两个任务,即对微网设备的状态进行估计和通过预测未来消费量和可再生产量来考虑不确定性的运......
  • 用Alist打造自己的免费超大容量网盘
    用Alist打造自己的免费超大容量网盘软件 4周前 0 196Alist网盘列表程序官方文档:Home|AList文档(nn.ci)linux-amd64v3.12.2版本下载链接:https://drive.netupd......
  • Redis 列表(List)
    Redis列表(List)Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含232-1个元素(4294967295,......
  • python..
    importpandasaspdinputfile='GoodsOrder.csv'data=pd.read_csv(inputfile,encoding='gbk')#根据id对“Goods”列合并,并使用“,”将各商品隔开data['Goods']=data[......
  • 五种Python中字典的高级用法
    用作switch/case在许多编程语言中,switch/case语句允许大家根据变量的值来执行不同的操作。虽然Python没有内置的switch/case语句,但是大家可以通过使用字典来实现类似的功......
  • python+playwright 学习-39.登录页面滑动解锁(ActionChains)
    前言登录页面会遇到滑块解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点。有些直接拖到最最右侧就可以......
  • python学习者的专属linux教程
    Linux绝对和相对路径绝对路径:以根目录为起点的路径相对路径:不是以/这个根目录为源头划分的xshell快捷键:ctrl+l清屏ctrl+d退出登录ctrl+shift+......
  • 树莓派上使用 Python编程控制 LED 教程 All In One
    树莓派上使用Python编程控制LED教程AllInOneLED面包板GPIO(......