以下方法平时很少用,用其它解决方法,只是总结了一些其它同事的技巧

1   如何自动生成列表,加一个条件还能筛选

[x for x in range(10) if x>5 ]

来生一个字典试试

d = {x:randint(60,100) for x in range(1,21)}  //  randint需要导入包

from random import randint

用迭代筛选字典方法

{k:v for k,v in d.iteritems() if v>90}   // iteritems()  py3 也更名

d.items()

如何用无组中每个元素命名

studen = ("xsy",16,"13575665","fgxee@163.com")

这样的数据存为元组节省内存,访问时可以

#name

studen[0 ]

#age

studen[1]

以上方法访问,但是代码一多,数字代表什么不够直观

python模仿c写枚举方法解决:1,先定义一些常量

NAME =0

AGE = 1

SEX = 2

EMAIL = 3

高级定义方法

NAME,AGE,SEX,EMAE = range(4)

以下举例使用

//print(student[NAME])  //

//if studen[AGE]>=18k

//if student[sex] == "male"

方法二,用类构造

from collections import namedtuple
student = namedtuple("student",['name','age','sex','xx'])
s = student("jim",16,'male','llll@ddd.com')
print(s.name)
print(isinstance(s,tuple))//True,意思是可以用组的地方都 可以用这个方法

统记列表元素出现次数

from random import randint

[randint(0,20)for x in rnage(30)]//  将生成30个随机数字  现在我们要统计成字典比如{8:2,7:6}   8出现2次,7出现6次。这样子

d =[randint(0,20)for x in rnage(30)]、

最终成为

c= {2:6,6:4...........}

完成功能代码如下  方法一

from random import randint
d =[randint(0,20) for x in range(30)]
c = dict.fromkeys(d,0)
for x in d:
c[x]+=1
print(c)

统计字典无素出现次数二
from collections import Counter
c2 =Counter(c)
print(c2.most_common(3))
 
用counter统记文本单词出现次数


from collections import Counter
import re

txt = open("cb.txt").read()
c3 = Counter( re.split('\W',txt))

print(c3.most_common(3))

利用sorted()排序
a = sorted([9,1,2,6,4,])
print(a)// 1,2,4,6,9

字典排序::
from random import randint
dict = {x: randint(60,100) for x in "xopfd"}
print(sorted(dict)) #排序字典KEY
#(97,"C")>(15,"A") Ture(97,"a")>(97,"b") flse 先比第一个在比第二个
#字典访问方法不同的
print(dict.keys())
print(dict.keys())
print(dict.values())
#可以利用上面的方法调换字典健值
p = zip(dict.values(),dict.keys())
for x in p:
print(x)
然后可以排序了
sorted(p)
方法三:
m=sorted(dict.items(),key=lambda x:x[1])
print(m)


 

最新文章

  1. PHP $_SERVER详解
  2. REST API出错响应的设计
  3. js判断图片加载完成后获取图片实际宽高
  4. sql语句与 数据库
  5. 这样leetcode简单题都更完了
  6. 【ASP.NET 基础】Page类和回调技术
  7. Android 开发之如何保证Service不被杀掉(broadcast+system/app)
  8. 理解CSS3里的Flex布局用法
  9. c#调用命令行遇到带空格的路径
  10. HDU 2476 String painter (区间DP)
  11. 让CentOS系统时间同步
  12. 今天才知道css hack是什么
  13. CentOS 6.5 安装MySQL5.7 RPM
  14. StarUML的9种图
  15. Java笔记(day12)
  16. sql 查询所有表以及表结构
  17. 洛谷3704 [SDOI2017] 数字表格 【莫比乌斯反演】
  18. 团队作业4——beta阶段冲刺
  19. Chap3:文件系统中跳转[The Linux Command Line]
  20. mybatis 之 parameterType="java.util.HashMap">

热门文章

  1. Java课程设计 SSM新闻资讯管理系统 博客论坛管理系统 Java编程 博客系统源代码
  2. HCNA Routing&Switching之访问控制列表ACL
  3. Required request body is missing-请求接口报错
  4. centos7-同步时间
  5. k8s 执行 ingress yaml 文件报错: error when creating "ingress-myapp.yaml": Internal error occurred: failed calling webhook
  6. C#序列化和反序列化 之 dynamic 动态Json的反序列化
  7. WPF 中TextBox 增加输入检测,错误提示
  8. Mybatis轻松入门(仅要求会用看着一个就够了,略过源码分析部分即可)
  9. Difference between trustStore and keyStore in Java - SSL
  10. 关于RandomAccess