python如何高效处理数据类型
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编给大家分享一下python如何高效处理数据类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!高效处理数据类型方法:处理
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
互联网科技图片
科技平台互联网
互联网公司 科技公司
西安互联网科技
小马过河互联网科技
时间互联网络科技
互联网科技小额贷款
狮子座互联网科技培训
深圳互联网科技怎么样
福州新华互联网科技学校 知乎
茂名市互联网科技产业园
湖北码尼互联网科技有限公司电话
荆州市昕露互联网络科技有限公司
互联网时代的科技公司
互联网科技数字货币
江苏互联网智能科技产品出厂价
容联科技互联网电商
广西科技产业互联网是什么
唐山双旺合互联网科技产业园
互联网高科技绘画
科技互联网企业
涨乐互联网科技
互联网与科技金融数据
时间互联网络科技
互联网巨头投资的硬核科技
互联网教育科技公司vipkid
欧洲十大科技互联网公司
青岛科技大学互联网大赛研究生
中国互联网公司排名锤子科技
中国新注册互联网科技