码迷,mamicode.com
首页 > 编程语言 > 详细

python工作中总结

时间:2018-09-02 20:20:01      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:命名   其它   style   email   类构造   定义   student   自动   同事   

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

  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)

 

python工作中总结

标签:命名   其它   style   email   类构造   定义   student   自动   同事   

原文地址:https://www.cnblogs.com/fgxwan/p/9574783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!