python如何高效处理数据类型
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,小编给大家分享一下python如何高效处理数据类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!高效处理数据类型方法:处理
千家信息网最后更新 2025年11月16日python如何高效处理数据类型
小编给大家分享一下python如何高效处理数据类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
高效处理数据类型方法:
处理数据
In [1]: from random import randintIn [2]: data=[randint(-10,10) for _ in range(10)]In [3]: dataOut[3]: [-3, -4, 3, 4, 7, -2, -4, 1, 7, -9]#过滤列表中的负数In [9]: list(filter(lambda x:x>=0,data))Out[9]: [3, 4, 7, 1, 7][for x in data if x>=0]# 列表生成式解法[x for x in data if x>=0]#哪个更快,列表解析更快,远快于迭代In [15]: %timeit [x for x in data if x>=0]581 ns ± 23.8 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)In [16]: %timeit filter(lambda x:x>=0,data)237 ns ± 4 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)#得到20个同学的成绩d={x:randint(60,100)for x in range(1,21)}#字典解析式,iteritems同时迭代字典,##得到分数大于90的同学{k:v for k,v in d.items() if v>90}#集合解析In [35]: {x for x in s if x %3 ==0}Out[35]: {-9, -3, 3}#为元祖中的每个元素命名,提高程序可读性#元祖存储空间小,访问速度快#定义常量NAME = 0AGE=1SEX=2EMAIL=3#拆包用法,定义类似其他语言的枚举类型,也就是定义数值常量NAME,AGE,SEX,EMAIL=range(4)#案例student=('Jim',16,'male','jin@163.com')#nameprint(student[0])#ageprint(student[1])#通过常量可以优化为print(student[NAME])print(student[AGE])#namedtuple是继承自tuple的子类,namedtuple和tuple比较有更酷的特性#namedtuple创建一个和tuple类似的对象,而且对象拥有可以访问的属性。这对象更像带有数据属性的类,不过数据属性是只读的。from collections import namedtupleStudent = namedtuple('Student',['name','age','sex','email'])s=Student('Jim',16,'male','jim@163.com')s.name s.age#统计序列中元素出现的频度from random import randintdata=[randint(0,20) for _ in range(30)]#创建字典{0:0,1:0,...}#方法1c=dict.fromkeys(data,0)In [52]: for x in data: ...: c[x]+=1#方法2,统计词频from collections import Counterc2=Counter(data)#讲序列传入Counter的构造器,得到Counter对象是元素频度的字典#使用most_common统计词频In [58]: c2.most_common(3)Out[58]: [(10, 4), (20, 3), (8, 3)]#统计英文作文词频import retxt=open('emmmm.txt').read()#分割后赋给Counterc3=Counter(re.split('\W',txt))#找到频率最高的10个单词c3.most_common(10)#内置函数是以c的速度运行,如sortedfrom random import randint d={x:randint(60,100) for x in 'xyzabc'}#{'a': 91, 'b': 65, 'c': 76, 'x': 85, 'y': 84, 'z': 72}# sorted(d)In [15]: zip(d.values(),d.keys())Out[15]: In [16]: list(zip(d.values(),d.keys()))Out[16]: [(68, 'x'), (70, 'y'), (77, 'z'), (72, 'a'), (65, 'b'), (69, 'c')]#快速找到多个字典中的公共键#In [1]: from random import randint,sampleIn [2]: sample('abcdefg',3)Out[2]: ['c', 'a', 'b']In [4]: sample('abcdefg',randint(3,6))Out[4]: ['b', 'a', 'd']In [5]: s1={x:randint(1,4)for x in sample('abcdefg',randint(3,6))}In [9]: s1Out[9]: {'a': 1, 'b': 2, 'c': 3, 'f': 3, 'g': 3}In [10]: s1={x:randint(1,4)for x in sample('abcdefg',randint(3,6))}In [11]: s1Out[11]: {'b': 2, 'd': 3, 'g': 3}In [12]: s1Out[12]: {'b': 2, 'd': 3, 'g': 3}In [13]: s2={x:randint(1,4)for x in sample('abcdefg',randint(3,6))}In [15]: s3={x:randint(1,4)for x in sample('abcdefg',randint(3,6))}#for循环遍历方法,找到s2,s3都有的kIn [19]: res=[]In [20]: for k in s1: ...: if k in s2 and k in s3: ...: res.append(k ...: ) ...: ...: In [21]: resOut[21]: ['b']#通过字典的keys()方法,找到三个字典同样的keyIn [26]: s1.keys()&s2.keys()&s3.keys()Out[26]: {'b'}#通过map得到一个迭代器对象#In [27]: map(dict.keys,[s1,s2,s3])Out[27]: 以上是"python如何高效处理数据类型"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
字典
数据
对象
方法
类型
处理
统计
元素
内容
属性
常量
篇文章
词频
迭代
同学
序列
更快
速度
频度
元祖
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京软件开发人员平均工资
linux服务器安全基线
数据库的sql的中文
网络安全与运维一样吗
语料库是电子数据库中的文本集合
肇庆个人存储服务器
辽宁运营软件开发计划
广州信息软件开发电话
酒店客房管理系统数据库
分析数据库的英文
网络安全事件登记和统计情况
黑客网络安全的驱动之一
我的世界小潮服务器
网络安全形成怎样的防御体系
践行互联网科技有限公司
淘宝网系统中数据库的作用
战地4服务器管理员
服务器运维如何保证服务器稳定
北京企业软件开发培训
国家怎样保障网络安全
魔兽世界赛季服务器开区
SQL数据库菜品管理系统
大旗网络安全科技馆
魔兽世界换服务器
徐州软件开发公司哪家靠谱
网络技术应用创新
方舟生存进化服务器如何快速挖铁
华为服务器管理口直连
软件开发好坏分析
网络技术措施使用