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函数使用上的不同

相关文章
|
5月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
381 3
|
5月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
607 3
|
5月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
417 3
|
5月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
513 0
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
300 0
|
算法 Python
Python编程的函数—内置函数
Python编程的函数—内置函数
273 0
|
算法 Python
Python编程实验四:函数的使用
Python编程实验四:函数的使用
|
存储 程序员 Shell
Python 进阶指南(编程轻松进阶):十、编写高效函数
Python 进阶指南(编程轻松进阶):十、编写高效函数
190 0
|
存储 Shell C++
零基础学会python编程——输入 / 输出函数与变量
零基础学会python编程——输入 / 输出函数与变量
568 0
|
算法 编译器 Python
Python编程基础:实验6——函数的递归
有关Python函数递归的一些题目,非常经典,开箱即用。
517 1
Python编程基础:实验6——函数的递归