python如何高效处理数据类型
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,小编给大家分享一下python如何高效处理数据类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!高效处理数据类型方法:处理
千家信息网最后更新 2024年11月24日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安全错误
数据库的锁怎样保障安全
用友软件关联数据库
龙口ios软件开发哪家好
怎么从单元格提取指定数据库
软件开发与应用论文
天龙八部怀旧服新开服务器
卫生系统网络安全会议
河北制造软件开发售价
售后软件开发
怎么把宝塔数据库清空
各级域名服务器功能
台中服务器机房
plc上位机软件开发用什么语言
王牌战士对战服务器
网络安全薛涛
数据库概念模式
2020年网络安全答题答案
自考本的论文也提交数据库吗
一站式网络技术咨询排名靠前
软件开发公司招聘主管
火绒安全服务器地址
jira邮件服务器配置
西奥acd2mr服务器呼梯
北海计算机网络技术学校
数据库地类是什么
外汇交易服务器
服务器安全狗在线备份数据
网络安全威胁和风险对社会
应用交付有网络安全功能吗
网络安全宣传校园日心得
湖北服务器机柜厂家