python工作-python工作中总结

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

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)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值