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

相关文章
|
3天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
18 0
|
23小时前
|
机器学习/深度学习 人工智能 数据可视化
Python:探索编程之美
Python:探索编程之美
9 0
|
1天前
|
机器学习/深度学习 人工智能 数据处理
Python编程的魅力与实践
Python编程的魅力与实践
|
2天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
15天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
15天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
19天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
7天前
|
安全 数据处理 开发者
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
19 1
|
7天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
35 0