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) ...
随机推荐
- .Net Core(完) 创建Docker镜像
使用Docker可以在操作系统上分出多个独立的区域(容器/Container),各个容器之间基本隔离,且可以有自己单独的系统配置.软件等,各个容器之间的软件基本不会互相干扰.Docker上配置好的容器 ...
- LeetCode题解之Binary Tree Paths
1.题目描述 2.分析 使用递归. 3.代码 vector<string> ans; vector<string> binaryTreePaths(TreeNode* root ...
- Unity Ulua1.03优化记录
现在项目的框架是在2015年设计的,那时候Ulua还处于1.03版本,现在回头再看,Ulua已经迭代到1.25版本,中间引入带有wraper的cstolua,而后转向现有的toLua#版本. 随着版本 ...
- VS2015安装与C++进行简单单元测试
1:VS2015是微软最新发布的编译器,http://www.itellyou.cn/这是我们的北航大神助教提供的下载网址,以前我们都是自己在网上找,找到的总不是那么如意,这下大神助教提供的网址就好好 ...
- Html body的滚动条禁止与启用
在写一个在页面中,经验证用户没有登录或session失效时候弹出登录框禁止页面滚动用到今天搞了一个功能,上下左右居中,模仿QQ空间里的样式,把横向和纵向滚动条禁止掉代码如下:<script ty ...
- 基于php实现QQ授权登陆
第一步: 首先登陆QQ互联首页https://connect.qq.com/进行个人/企业认证.大概审核时间在一周左右. 认证通过之后创建应用: 这里主要用到应用的APP ID 和 APP Key ...
- ROS 双目标定
http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration 发布ZED节点 roslaunch zed_cpu_ros zed ...
- go标准库的学习-crypto/sha1
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha1" sha1包实现了SHA1哈希算法,参见RFC 3174. ...
- ethereum/EIPs-100 挖矿难度计算
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-100.md 创世纪区块的难度是131,072,有一个特殊的公式用来计算之后的每个块的难度. ...
- python3 is和==
'''is 判断左右两端的数据是否是同一个内存地址== 判断左右两端的数据是否一样'''# s1 = "alex"# s2 = "alex"# print(s1 ...