Python_字符串检测与压缩
'''
center()、ljust()、rjust(),返回指定宽度的新字符串,原字符串居中、左对齐或右对齐出现在新字符串中,
如果指定宽度大于字符串长度,则使用指定的字符(默认为空格进行填充)。
'''
print('Hello world!'.center(20)) #居中对齐,以空格进行填充
# Hello world!
print('Hello world!'.center(20,'=')) #居中对齐,以字符=进行填充
# ====Hello world!====
print('Hello world!'.ljust(20,'=')) #左对齐
# Hello world!========
print('Hello world!'.rjust(20,'=')) #右对齐
# ========Hello world! '''
zfill()返回指定宽度的字符串,在左侧以字符0进行填充
'''
print('abc'.zfill(5)) #在左侧填充数字字符0
# 00abc
print('abc'.zfill(2)) #指定宽度小于字符串长度时,返回字符串本身
# abc '''
isalnum() 检测字符串是否为数字或字母
isalpha() 检测字符串是否只由字母组成
isdigit() 检测字符串是否只由数字组成
isdecimal() 检测字符串是否只包含十进制字符
isnumeric() 检测字符串是否只由数字组成
isspace() 检测字符串是否只由空格组成
isupper() 检测字符串中所有的字母是否都为大写
islower() 检测字符串是否由小写字母组成
'''
print('1234abcd'.isalnum()) #检测字符串是否为数字或字母
# True
print('!!'.isalpha()) #全部为英文字母时返回True
# False
print('abcd'.isalpha())
# True
print('1234.0'.isdigit()) #检测字符串是否由数字组成
# False
print(''.isdigit())
# True
print('九'.isnumeric()) #isnumeric()方法支持汉字数字
# True
print(''.isnumeric())
# True
print('九'.isdigit())
# False
print(''.isdecimal()) #只包含十进制字符
# True
print('ⅣⅢⅩ'.isdecimal())
# False
print('ⅣⅢⅩ'.isdigit())
# False
print('ⅣⅢⅩ'.isnumeric()) #支持罗马数字
# True '''
Python内置函数也可以对字符串进行操作
'''
x = 'Hello world.'
print(len(x)) #字符串长度
#
print(max(x)) #最大字符
# w
print(min(x)) #最小字符
# ' '
print(list(zip(x,x))) #zip()也可以作用于字符串
# [('H', 'H'), ('e', 'e'), ('l', 'l'), ('l', 'l'), ('o', 'o'), (' ', ' '), ('w', 'w'), ('o', 'o'), ('r', 'r'), ('l', 'l'), ('d', 'd'), ('.', '.')] '''
切片也适用于字符串,但仅限于读取其中的元素,不支持字符串修改
'''
print('Explicit is better than implicit.'[:8])
# Explicit
print('Explicit is better than implicit.'[9:23])
# is better than '''
Python标准库zlib中提供compress()和decompres()函数可以用于数据的压缩和解压缩,
在压缩字符串之前需要先编码为字节串
'''
import zlib
x = 'Python是我认为最好的一门编程语言,使用广泛'.encode()
print(len(x))
#
y = zlib.compress(x)
print(len(y)) #对于重复度比较小的信息,压缩比小
#
x = ('Python是我认为最好的一门编程语言,使用广泛'*3).encode()
print(len(x))
#
y=zlib.compress(x) #信息重复度越高,压缩比越大
print(len(y))
#
z = zlib.decompress(y)
print(len(z))
#
print(z.decode())
# Python是我认为最好的一门编程语言,使用广泛Python是我认为最好的一门编程语言,使用广泛Python是我认为最好的一门编程语言,使用广泛
x=['zWrite']*8
y=str(x).encode()
print(len(y))
#
z=zlib.compress(y)
print(len(z))
#
print(zlib.decompress(z).decode())
# ['zWrite', 'zWrite', 'zWrite', 'zWrite', 'zWrite', 'zWrite', 'zWrite', 'zWrite']
Python_字符串检测与压缩的更多相关文章
- python_字符串方法
1.字符串大小写转 value = "wangdianchao" # 转换为大写 big_value = value.upper() print(big_value) # 转换为小 ...
- JAVA字符串的GZIP压缩解压缩
package com.gzip; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import ...
- 1.Python_字符串_常用办法总结
明确:对字符串的操作方法都不会改变原来字符串的值. 1.去掉空格和特殊符号 name.strip() 去掉空格和换行符 name.strip("xx") 去掉某个字符串 name. ...
- 零基础学习python_字符串(14-15课)
今天回顾下我之前学习python的第一个对象——字符串,这个对象真蛋疼,因为方法是最多的,也是最常见的类型,没有之一... 内容有点多,我就搜了下网上的资料,转载下这个看起来还不错的网址吧:http: ...
- python_字符串,元组,格式化输出
一.字符串 1.字符串是有成对的单引号或者双引号括起来的.例如:name="张三",sex="女" 2.字符串的索引是从0开始的 3.字符串的切片 a.单个字符 ...
- Python_字符串处理方法
1.字符串转换 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 1.字符串复制 #s ...
- python_字符串
1. 字符串的格式化 格式: 说明: (1)转换说明符 (2)格式化操作符右操作数可以是任何东西,如果是元组的话,每一个元素都会被单独格式化. 2. 字符串常用的方法 (1)find int = fi ...
- Python_字符串之删除空白字符或某字符或字符串
''' strip().rstrip().lstrip()分别用来删除两端.右端.左端.连续的空白字符或字符集 ''' s='abc ' s2=s.strip() #删除空白字符 print(s2) ...
- Python_字符串的映射与可变字符串的应用
''' maketrans().translate() maketrans()方法用来生成字符映射表,而translate()方法则按映射表中定义的对应关系转换并替换其中的字符,使用这两个方法的组合可 ...
随机推荐
- C++异常处理 - 栈解旋,异常接口声明,异常类型和异常变量的生命周期
栈解旋(unwinding) 异常被抛出后,从进入try块起,到异常被抛掷前,这期间在栈上的构造的所有对象,都会被自动析构.析构的顺序与构造的顺序相反.这一过程称为栈的解旋(unwinding). d ...
- ffdshow 源代码分析 7: libavcodec视频解码器类(TvideoCodecLibavcodec)
===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ...
- LeetCode之“链表”:Reverse Nodes in k-Group
题目链接 题目要求: Given a linked list, reverse the nodes of a linked list k at a time and return its modifi ...
- umask函数的用法 - 如何进行权限位的设置
下面程序创建了两个文件,创建foo文件时,umask值为0,创建第二个时,umask值禁止所有组和其他用户的访问权限. 测试结果: 测试结果可以看出更改进程的文件模式掩码并不影响其父进程(常常是she ...
- 【linux学习笔记之一】linux系统目录结构以及常用系统命令
序 ???这破笔记也要序?? 昨天开始学linux,做好笔记以备日后翻阅 Linux系统目录结构图 bin --主要用于存放二进制文件(如:命令文件) boot--引导目录 dev --设备目录 ...
- 价值5000元的web报表分享
价值5000元的web报表分享 与一个朋友聊天,发现他最近做了一个很棒的报表,用他的话来讲,起码值5000RMB,我拿来与大家分享下,共同进步. 用朋友A的话,就是他最近接到公司财务部长大人的需求,需 ...
- The content of elements must consist of well-formed character data or markup
java 中使用dom4j解析含有特殊字符的xml文件出现了如题的错误 这个时候需要在特殊字符外面加上 <![CDATA[ /6169220648+20671/1>7+-47390045& ...
- SharePoint 添加BCD菜单
前言:在SharePoint中,我们常见的操作就是添加我们的自定义BCD菜单,下面,简单介绍下添加自定义BCD菜单的操作.主要介绍两种熟悉的方法,一种通过xml方式,另一种是通过js的方式. 环境:S ...
- 面试之路(16)-归并排序详解(MergeSort)递归和非递归实现
归并排序的概念及定义 归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列. 归并排序是建立 ...
- nasm预处理器(4)
nasm定义了一套标准宏,当开始处理源文件时,这些宏都已经被定义了,如果希望程序在执行前没有预定义的宏存在,可以使用%clear清空预处理器的一切宏. __NASM_MAJOR__ 主版本号 __NA ...