python3 编程使用技巧
- from random import randint
- data = {"Student{}".format(i):randint(60,100) for i in range(1,21)}
- 如何在list中筛选数据
[x for x in arr if x >=60]
- 如何在set中筛选数据
[x for x in s if x >=60]
- 如何在dict中筛选数据
{k:v for k,v in data.items() if v >= 60}
filter(lambda x:x[1] >= 90,data.items()) - 给typle中的元素命名
>>> s = ('Jim', 16, 'male', 'myheed@gmail.com')
>>> from enum import IntEnum
>>> class StudentEnum(IntEnum):
... NAME = 0
... AGE = 1
... SEX = 2
... EMAIL = 3
...
>>> StudentEnum.NAME
<StudentEnum.NAME: 0>
>>> s[StudentEnum.NAME]
'Jim'
>>> s[StudentEnum.AGE]
16nameTuple
>>> from collections import namedtuple
>>> namedtuple('Student', ['name', 'age', 'sex', 'email'])
<class '__main__.Student'>
>>> SS = namedtuple('Student', ['name', 'age', 'sex', 'email'])
>>> SS
<class '__main__.Student'>
>>> s1 = SS('Jim',16, 'male', email='sunzhuo@bupt.edu.cn')
>>> s1
Student(name='Jim', age=16, sex='male', email='sunzhuo@bupt.edu.cn')
>>> s1.name
'Jim' - dict中元素进行排序
>>> from random import randint
>>> d = {k: randint(60,100) for k in 'abcdefgh'}
>>> d
{'a': 70, 'b': 85, 'c': 81, 'd': 89, 'e': 82, 'f': 69, 'g': 64, 'h': 84}
>>> [(v,k)for k,v in d.items()]
[(70, 'a'), (85, 'b'), (81, 'c'), (89, 'd'), (82, 'e'), (69, 'f'), (64, 'g'), (84, 'h')]
>>> l = [(v,k)for k,v in d.items()]
>>> sorted(l)
[(64, 'g'), (69, 'f'), (70, 'a'), (81, 'c'), (82, 'e'), (84, 'h'), (85, 'b'), (89, 'd')]
>>> sorted(l, reverse = True)
[(89, 'd'), (85, 'b'), (84, 'h'), (82, 'e'), (81, 'c'), (70, 'a'), (69, 'f'), (64, 'g')]
>>> dict(sorted(l, reverse = True))
{89: 'd', 85: 'b', 84: 'h', 82: 'e', 81: 'c', 70: 'a', 69: 'f', 64: 'g'}
>>> sorted(d.items(), key=lambda item: item[1], reverse=True)
[('d', 89), ('b', 85), ('h', 84), ('e', 82), ('c', 81), ('a', 70), ('f', 69), ('g', 64)]>>> res = sorted(d.items(), key=lambda item: item[1], reverse=True)
>>> res
[('d', 89), ('b', 85), ('h', 84), ('e', 82), ('c', 81), ('a', 70), ('f', 69), ('g', 64)]
>>> enumerate(res,1)
<enumerate object at 0x1079de558>
>>> list(enumerate(res,1))
[(1, ('d', 89)), (2, ('b', 85)), (3, ('h', 84)), (4, ('e', 82)), (5, ('c', 81)), (6, ('a', 70)), (7, ('f', 69)), (8, ('g', 64))]
>>> for i, (k,v) in enumerate(res,1):
... print(i,k,v)
...
1 d 89
2 b 85
3 h 84
4 e 82
5 c 81
6 a 70
7 f 69
8 g 64
>>> d
{'a': 70, 'b': 85, 'c': 81, 'd': 89, 'e': 82, 'f': 69, 'g': 64, 'h': 84}
>>> for i, (k,v) in enumerate(res,1):
... d[k] = (i,v)
...
>>> d
{'a': (6, 70), 'b': (2, 85), 'c': (5, 81), 'd': (1, 89), 'e': (4, 82), 'f': (7, 69), 'g': (8, 64), 'h': (3, 84)}
>>> {k:(i,v) for i,(k,v) in enumerate(res, 1)}
{'d': (1, 89), 'b': (2, 85), 'h': (3, 84), 'e': (4, 82), 'c': (5, 81), 'a': (6, 70), 'f': (7, 69), 'g': (8, 64)} - 关于zip
>>> zip([1,2,3],[3,4,5,6])
<zip object at 0x1079df348>
>>> list(zip([1,2,3],[3,4,5,6]))
[(1, 3), (2, 4), (3, 5)]
>>> list(zip([1,2,3],[3,4]))
[(1, 3), (2, 4)] - 词频统计
word_list = re.split("\W+", txt)
c2 = Counter(word_list)
c2.most_common(10)
python3 编程使用技巧的更多相关文章
- 3D游戏编程大师技巧──2D引擎的编译问题
接上一篇文章,这里将介绍2D引擎的编译,从现在开始才真正进入<3D游戏编程大师技巧>的学习.本书的第一.二章只是简介了游戏编程和windows编程,从第三章开始才是介绍<window ...
- 3D游戏编程大师技巧──环境搭建
刚开微博,想借助这个平台与大家交流,写下自己的学习记录,希望得到大家的批评指正. 好了,进入主题.这段时间对游戏编程很感兴趣,于是在网友的推荐下开始学习<3D游戏编程大师技巧>这本书.今天 ...
- 提高php编程效率技巧
提高php编程效率技巧 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-13 php是全球范围应用范围最广的开发语言,php和linux.apache.mysql紧密结合,形 ...
- opencv编程入门技巧
opencv编程入门技巧 最近在项目中负责图像处理模块的编程工作,主要分为两个板块,一是视频图像去雾,二是可视.红外图像融合.为了提升开发效率,遂开始学习并使用opencv图像类库,效果很好的说~因为 ...
- python012 Python3 编程第一步
Python3 编程第一步在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列.实例如下: #!/usr/bin/python3 # Fibonacci ...
- Python3 编程之字符串处理
Python3 编程之字符串处理 在编程中最常见的任务就是字符串的处理,So,学好字符串的使用非常重要 一.变量的定义规范 Python中声明变量时,要符合以下规则为准: 只能使用数字.字母.下划线组 ...
- Java编程小技巧(1)——方法传回两个对象
原文地址:Java编程小技巧(1)--方法传回两个对象 | Stars-One的杂货小窝 题目是个伪命题,由Java语法我们都知道,方法要么返回一个对象,要么就不返回 当有这样的情况,我们需要返回两个 ...
- python3编程的一些实用技巧1
1.choice函数:返回一个列表,元组,字符串的随机项 : 调用时应导入random模块,如from random import choice 2.print 两个字符串, 逗号,+号进行连 ...
- python3编程技巧二——如何在列表、字典、集合 中根据条件筛选数据
一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10) ...
随机推荐
- Visual Flow 简介
Visual Flow(流) Salesforce提供了几种自动化流程工具,其中的Visual Flow(流)可以用来实现用户界面和逻辑,并对数据进行CRUD(Create 创建,Read 读取,Up ...
- .NetCore(四) 在Nginx部署
本篇主要体验一下Nginx的使用,之前只接触过IIS. 一.Nginxa) ASP.NET Core内置了Kestrel服务器,但功能简单,主要用于SelfHost,正式运行还是要依赖IIS.Apa ...
- [20170705]diff比较执行结果的内容.txt
[20170705]diff比较执行结果的内容.txt --//有时候需要比较2个命令输出的结果进行比较,比较笨的方法如下,例子: $ lsnrctl status LISTENER_SCAN2 & ...
- Fiddler查看接口响应时间
有时候,某些接口访问过慢,我们需要测试接口查看响应时间,从而进行优化.(由于fiddler自带的没有进行响应时间的统计,所以我们需要给他添加新的规则) 首先打开Fiddler,在菜单栏上面找到Rule ...
- 如何猜出 Y combinator
先约定几个记号: 定义用一个冒号加等号表示":=", 表达式全等用两个等号表示"==", 归约意义上的相等用一个等号表示"="," ...
- alsa声卡分析alsa-utils调用过程(二)-tinymixer
继上一篇文章:http://www.cnblogs.com/linhaostudy/p/8515277.html 三.tinymixer调用分析:(tinymixer.log搜索节点:/dev/snd ...
- owncloud 实现私有云进行多端文件同步
研究生生涯开始了,事情逐渐多了起来.都没时间写博客了... 开学实验室配了台电脑,我把主机装上了Fedora 作为我的服务器.平时有些实验室的材料,经常几个电脑一起看,使用U盘拷来拷去很是麻烦.今天重 ...
- fedora 使用 vnc 远程 fedora 28 主机
问题重述: 最近环境中需要使用 fedora 28 来进行远程桌面,于是就重新配置了一下vnc 在这里面做一下记录. 过程: yum 安装: 工作机上安装 vncviewer 远程主机上安装: vnc ...
- Linux MySql 安装与配置
为什么选择MySQL数据库? 毫无疑问,绝大多数的使用linux操作系统的大中小型互联网网站都在使用MySQL作为其后端的数据库存储,从大型的BAT门户,到电商平台,分类门户等无一例都使用MySQL数 ...
- Python实例---模拟微信网页登录(day3)
第四步: 扫码成功后获取最近联系人信息---day3代码 settings.py """ Django settings for weixin project. Gene ...