标签:命名 其它 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)
标签:命名 其它 style email 类构造 定义 student 自动 同事
原文地址:https://www.cnblogs.com/fgxwan/p/9574783.html