1. 列表统计
chars = ["a", "b", "a", "c", "a", "d"]

使用count获取单个字符出现次数

chars.count("a")

使用Counter的most_commom获取 出现次数最多的前几位

from collections import Counter
print(Counter(chars).most_common(2)
  1. 字典键值的集合操作

字典的keys()支持 并集| 交集 & 差集- 等集合操作

dict_a = {"a": 1, "b": 2, "c": 3 }
dict_b = {"a": 1, "c":2, "d": 4} dict_a.keys() & dict_b.keys()

当字典的values都是字符串(无嵌套)时,字典的items()也支持集合操作

断言字典a包含字典b

assertFalse(dict_b.items() - dict_b.items())
  1. 列表嵌套字典操作
fruits = [{"name": "apple", "price": 4},
{"name": "orange", "price": 5}, {"name": "pear", "price":6} ,{"name": "apple", "price": 5}]

排序

sorted(fruits, key=lambda x: x["price"])

可以使用itemgetter代替lambda表达式

from operator import itemgetter

sorted(fruits, itemgetter("price"))

最小

mim(fruits, key=lambda x: x["price"])

最大

max(fruits, key=lambda x: x["price"])

使用堆获取最大/最小的前几个

import heapq
heapq.nlargest(2, fruits, key=lambda x: x["price"])
heapq.nsmallest(2, fruits, key=lambda x: x["price"]

分组groupby

from itertools import groupby
groups = groupby(fruits, key=lambda x:x["name"]) for name, fruits in groups:
print(name, len(list(fruits)))

更多学习资料请加添加作者微信:lockingfree获取

Python中一些高效的数据操作的更多相关文章

  1. c#搭建服务端 简单中最高效的数据操作Linq (4)

    .NET F 3.5之后提出的linq to sql 概念,大大的简化了对于数据对象的操作,可以通过简单的语法直接操作数据对象,如List,Linq to sql类 等等. 1.使用Linq to s ...

  2. Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

    背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...

  3. Python中关于csv的简单操作

    Python中关于csv的简单操作 CSV操作简单,直接import csv即可, 主要使用reader和pandas 1 reader的简单使用 csv.reader("1.csv&quo ...

  4. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  5. Python中生成(写入数据到)Excel文件

      转自http://www.crifan.com/export_data_to_excel_file_in_python/ 在Python中,如何将数据,导出为Excel,即把数据写入到新生成的ex ...

  6. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  7. python中 对文件的读写操作 以及如何边写入 边保存flush()

    转自:https://blog.csdn.net/t8116189520/article/details/78854708 首先 python中打开文件大致常用的几类如下: 1.写入文件write # ...

  8. python数据结构:pandas(2)数据操作

    一.Pandas的数据操作 0.DataFrame的数据结构 1.Series索引操作 (0)Series class Series(base.IndexOpsMixin, generic.NDFra ...

  9. Python中的”黑魔法“与”骚操作“

    本文主要介绍Python的高级特性:列表推导式.迭代器和生成器,是面试中经常会被问到的特性.因为生成器实现了迭代器协议,可由列表推导式来生成,所有,这三个概念作为一章来介绍,是最便于大家理解的,现在看 ...

随机推荐

  1. JVM性能优化--类加载器,手动实现类的热加载

    一.类加载的机制的层次结构 每个编写的".java"拓展名类文件都存储着需要执行的程序逻辑,这些".java"文件经过Java编译器编译成拓展名为". ...

  2. 【转载】腾讯云安全组如何开放3306端口让Mysql可访问

    Mysql数据库的默认端口号为3306,在服务器安装好Mysql数据库后,如果使用的服务器是阿里云或者腾讯云服务器,如果在后台启用了安全组功能,则需要在安全组中对3306端口的入站规则进行放行,只有在 ...

  3. 自定义过滤器和标签 & 静态文件相关

    自定义过滤器和标签 1.在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.在app中创建templatetags模块(模块名 ...

  4. ABAP-会计凭证替代字段GB01设置

    1.GB01表字段设置 SM30:VWTYGB01 找到需要替代的字段,设置bexclude勾选为空 2.运行程序 RGUGBR00 激活

  5. 安卓开发之cache 的使用(图片查看器案例)

    package com.lidaochen.test; import android.graphics.Bitmap; import android.graphics.BitmapFactory; i ...

  6. for循环的耗时问题

    结论——用变量来缓存数组长度,效率会更高

  7. RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)

    参考:RHEL/CentOS/Fedora各种源(EPEL.Remi.RPMForge.RPMFusion)配置 简介 CentOS 默认自带 CentOS-Base.repo 源, 但官方源中去除了 ...

  8. Linux命令——chkconfig

    拓展:如何增加一个系统服务service chkconfig本身用法不复杂,其作用是控制service是否开机启动. 对于CentOS而言,7.X版本已经不再使用SysV,SysV相关的命令基本上没有 ...

  9. 2. 软件有很多种,也有各种分类办法: ShrinkWrap (在包装盒子里面的软件,软件在CD/DVD上); Web APP (基于网页的软件); Internal Software (企业或学校或某组织内部的软件); Games (游戏); Mobile Apps (手机应用); Operating Systems (操作系统); Tools

     选取对你最相关的一类软件,  请回答:(web app)  1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的?  他们的目标都是盈利么?  他们的目标都是赚取用户 ...

  10. python requests包的基本使用

    Requests 安装requests模块: D:\Install\Python36>pip3 install requests 请求方式 #coding:utf-8 import reques ...