记录一些Python中不常用但非常好用的函数
zfill(): 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
print('Helloworld'.zfill(50))
0000000000000000000000000000000000000000Helloworld
rsplit(): 从右向左寻找, 对字符串进行分割并返回一个列表
- sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- count -- 可选参数,分割次数,默认为分隔符在字符串中出现的总次数。
print('https://home.cnblogs.com/u/frank-shen/'.rsplit('/', 2))
['https://home.cnblogs.com/u', 'frank-shen', '']
random.sample(): 从指定序列中随机获取指定长度的片断
print(sample('0123456789', 3))
['0', '9', '6']
random.shuffle(): 原地打乱列表的顺序
import random
temp = [1, 2, 3, 4, 5]
random.shuffle(temp)
print(temp)
[4, 5, 3, 1, 2]
zip() 压缩 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9, 0] print(list(zip(a, b))) # zip返回的是对象, 通过list()转换为列表
print(list(zip(a, c))) # 元素个数与最短的列表一致 [(1, 4), (2, 5), (3, 6)]
[(1, 7), (2, 8), (3, 9)]
zip 参数前加* 解压
print(list(zip(*[(1, 4), (2, 5), (3, 6)]))) [(1, 2, 3), (4, 5, 6)]
. 表示当时文件夹 os.path.abspath('.') 获取当前文件夹的绝对路径
print(os.path.abspath('.'))
D:\workspace\Python\练习\Demo
统计字符串每个字符出现的次数
s = 'sdfadfjsdfjdjhgadsf'
res = Counter(s)
print(res)
字典根据键从小到大排序
dict = {'name': 'Frank', 'age': 18}
list = sorted(dict.items(), key=lambda i: i[0], reverse=False)
new_dict = {}
for i in list:
new_dict[i[0]] = i[1]
print(new_dict)
位运算符是把数字当作二进制来计算的
a = 60
b = 13
print(a&b) # 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
print(a|b) # 只要对应的二个二进位有一个为1时,结果位就为1
print(a^b) # 当两对应的二进位相异时,结果为1
print(~a) # 取反 ~a = -(a+1)
print(a<<2) # 运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
print(a>>2) # 把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
join 和 + 的性能对比
每执行一次+都会申请一块新的内存 然后复制上一个+操作的结果和本次操作的右操作符到这块内存空间,因此用+连接字符串的时候会涉及好几次内存申请和复制
记录一些Python中不常用但非常好用的函数的更多相关文章
- python中的常用数据类型
python中的常用数据类型 以下是个人总结的python中常见的数据类型,话不多说,我们直接步入正题: 数字类型 整型类:int类可以表示任意大小的整数值,在python中没有像JAVA或者C那样的 ...
- python python中那些双下划线开头的那些函数都是干啥用用的
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- 如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline
如何在Python中快速画图--使用Jupyter notebook的魔法函数(magic function)matplotlib inline 先展示一段相关的代码: #we test the ac ...
- python学习之【第十五篇】:Python中的常用模块之time模块
1.前言 在Python中,对时间的表示或操作通常要使用到time模块.本篇博文就来记录一下time模块中常用的几种时间表示转换方法. 2. 三种时间表示形式 2.1 时间戳 从1970年1月1日零点 ...
- python中的常用模块
python中常用的模块 time: 1)time.localtime([secs]):将一个时间戳转换为当前时区的struct_time.secs参数未提供,则以当前时间为准. 2)time.gmt ...
- 【转 记录】python中的encode以及decode
字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ...
- Python中最常用的字符串方法!
字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串还有一些专属于它们的附加方法.下图显示了所有这些可用的方法: Pyt ...
- python中数据分析常用函数整理
一. apply函数 作用:对 DataFrame 的某行/列应用函数之后,Apply 返回一些值.函数既可以使用默认的,也可以自定义.注意:在第二个输出中应用 head() 函数,因为它包含了很多行 ...
- python中math常用函数
python中math的使用 import math #先导入math包 1 三角函数 print math.pi #打印pi的值 3.14159265359 print math.radians(1 ...
随机推荐
- 主题模型值LDA
主题模型(topic model)是以非监督学习的方式对文集的隐含语义结构(latent semantic structure)进行聚类(clustering)的统计模型. 主题模型主要被用于自然语言 ...
- MongoDB数据库,一些的筛选过滤查询操作和db.updae()更新数据库记录遇到的坑。
缘由:使用MongoDB时遇到一些需要查询/更新操作指定某些字段的业务场景 查询和更新指定字段就需要进行简单的筛选和过滤,也能在大数据量时减少查询消耗时间 1. 查询数据库某些指定字段,同时默认返回_ ...
- 利用容器逃逸实现远程登录k8s集群节点
某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节 ...
- ObjectMapper将josn字符串转化为List
一.利用ObjectMapper将json字符串转为List Student.java package objectmapper; import java.io.Serializable; publi ...
- 微信登录4-开发回调URL
一.准备 1.引入pom依赖 在要使用HttpClient的项目中加入依赖 <!--httpclient--> <dependency> <groupId>org. ...
- FreeWheel核心业务团队混沌工程实践之路
https://mp.weixin.qq.com/s/0monDPkAlMk7Yhq9swW7gQ 原创 郭彦梅 InfoQ 2020-11-17
- 2.kafka架构深入——生产者
一个topic有多个partition,每个partition又有多个副本,在这些副本中又有一个leader和多个follower. 1)分区的原因 (1)方便在集群中扩展,每个Partition可以 ...
- 分布式跟踪的一个流行标准是OpenTracing API,该标准的一个流行实现是Jaeger项目。
https://github.com/jaegertracing/jaeger https://mp.weixin.qq.com/s/-Tn2AgyHoq8pwMun8JHcGQ Jaeger的深入分 ...
- LOJ10021 Addition Chains
题目描述 原题来自:ZOJ 1937 已知一个数列 A0,A1,A2,A3,...,Am(其中A0=1,Am=n,A0<A1<A2<A3<...<Am ).对于每个 k, ...
- 大数据开发-Spark-拷问灵魂的5个问题
1.Spark计算依赖内存,如果目前只有10g内存,但是需要将500G的文件排序并输出,需要如何操作? ①.把磁盘上的500G数据分割为100块(chunks),每份5GB.(注意,要留一些系统空间! ...