Python编程:Python2和Python3下的translate函数字符映射替换

简介: Python编程:Python2和Python3下的translate函数字符映射替换

python2 和 python3的不兼容 导致了诸多问题。


喏,一个 translate 都有好几种写法


Python2

ASCII编码


# -*- coding: utf-8 -*-
import string
trantab = string.maketrans("123", "ABC")
s = "123 456"
ret = s.translate(trantab)
print(ret) # ABC 456

unicode编码


unicode 的translate方法的映射表也就是字典的键必须是unicode的位序数
值可以是unicode的位序数、unicode字符串或这None
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, print_function
dct = {
    ord("1"): "AA",
    ord("2"): "BB",
    ord("3"): "CC"
}
s = "123456"
ret = s.translate(dct)
print(ret) # AABBCC456

Python3

Python3.4 已经没有 string.maketrans() ,取而代之的是内建函数: str.maketrans()


方式一:通过字符串构建转换表



# 参数: 原始字符表,转换字符表,删除字符表
table = str.maketrans("123", "ABC", "4")
s = "1234"
ret = s.translate(table)
print(ret)  # ABC

方式二:通过字典构建转换表


dct = {
    "1": "AA",
    "2": "BB",
    "3": "CC"
}
table = str.maketrans(dct)
s = "1234"
ret = s.translate(table)
print(ret)  # AABBCC4

参考:

Python2.x和3.x下maketrans与translate函数使用上的不同

相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
217 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
329 1
|
2月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
190 0
|
3月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
282 101
|
3月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
204 98
|
Python
在Python中实现图片转字符画灰度处理或灰色量化
在Python中实现图片转字符画灰度处理或灰色量化
332 1
|
计算机视觉 Python
在Python中实现图片转字符画打开图片
在Python中实现图片转字符画打开图片
138 1
|
Python
在Python中实现图片转字符画导入所需库
在Python中实现图片转字符画导入所需库
104 1
|
存储 算法 计算机视觉
在Python中实现图片转字符画
在Python中实现图片转字符画
206 1
|
存储 计算机视觉 Python
python实现Gif图片的字符画
这是一个Python实战项目,旨在将GIF动态图转化为ASCII字符动画。项目适合有一定Python基础的学习者,主要使用os、imageio、PIL库。首先,代码导入所需库,然后通过PIL创建空白图片并添加文本。接着,程序读取GIF,拆分帧并转为字符画,存入“tmp”目录。同时,代码提供了清空“tmp”目录、将灰度值映射为ASCII字符、将图片处理成字符画的函数。此外,还有创建新画布和合成GIF的步骤。主函数调用这些模块,最终将ASCII字符画合并成GIF。项目展示了将动态图像转换为ASCII艺术的过程。

推荐镜像

更多