菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 3 教程
Python3 教程 Python3 简介 Python3 环境搭建 Python3 VScode Python3 基础语法 Python3 基本数据类型 Python3 数据类型转换 Python3 解释器 Python3 注释 Python3 运算符 Python3 数字(Number) Python3 字符串 Python3 列表 Python3 元组 Python3 字典 Python3 集合 Python3 条件控制 Python3 循环语句 Python3 编程第一步 Python3 推导式 Python3 迭代器与生成器 Python3 with Python3 函数 Python3 lambda Python3 装饰器 Python3 数据结构 Python3 模块 Python __name__ Python3 输入和输出 Python3 File Python3 OS Python3 错误和异常 Python3 面向对象 Python3 命名空间/作用域 Python 虚拟环境的创建 Python 类型注解 Python3 标准库概览 Python3 实例 Python 测验

Python3 高级教程

Python3 正则表达式 Python3 CGI编程 Python3 MySQL(mysql-connector) Python3 MySQL(PyMySQL) Python3 网络编程 Python3 SMTP发送邮件 Python3 多线程 Python3 XML 解析 Python3 JSON Python3 日期和时间 Python3 内置函数 Python3 MongoDB Python3 urllib Python uWSGI 安装配置 Python3 pip Python3 operator Python math Python requests Python random Python OpenAI Python 有用的资源 Python AI 绘画 Python statistics Python hashlib Python 量化 Python pyecharts Python selenium 库 Python 爬虫 Python Scrapy 库 Python Markdown Python sys 模块 Python Pickle 模块 Python subprocess 模块 Python queue 模块 Python StringIO 模块 Python logging 模块 Python datetime 模块 Python re 模块 Python csv 模块 Python threading 模块 Python asyncio 模块 Python PyQt Python for 循环 Python while 循环
(追記) (追記ここまで)

Python3 translate()方法

Python3 字符串 Python3 字符串


描述

translate() 方法根据参数 table 给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。

语法

translate()方法语法:

str.translate(table)
bytes.translate(table[, delete]) 
bytearray.translate(table[, delete]) 

参数

  • table -- 翻译表,翻译表是通过 maketrans() 方法转换而来。
  • deletechars -- 字符串中要过滤的字符列表。

返回值

返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。

实例

以下实例展示了 translate() 函数的使用方法:

实例(Python 3.0+)

#!/usr/bin/python3intab = "aeiou"outtab = "12345"trantab = str.maketrans(intab, outtab)# 制作翻译表str = "this is string example....wow!!!"print(str.translate(trantab))

以上实例输出结果如下:

th3s 3s str3ng 2x1mpl2....w4w!!!

以下实例演示如何过滤掉的字符 o:

实例(Python 3.0+)

#!/usr/bin/python# 制作翻译表bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')# 转换为大写,并删除字母oprint(b'runoob'.translate(bytes_tabtrans, b'o'))

以上实例输出结果:

b'RUNB'

Python3 字符串 Python3 字符串

AI 思考中...

2 篇笔记 写笔记

  1. #0

    cangyin

    152***[email protected]

    41

    关于 str.translate() 函数的一点尝试,诸君有兴趣可以耐着性子看看。

    seq = [None for x in range(127)] # 此处用 sequence 或 mapping(字典即是一种 mapping)都可以
    for i in range( ord('a'), ord('z') + 1 ):
     seq[i] = chr(i - 32)
    for i in range( ord('A'), ord('Z') + 1 ):
     seq[i] = chr(i + 32)
    seq[ord('!')] = " AMAZING!"
    print("Hello World!".translate(seq))

    输出:

    hELLOwORLD AMAZING!

    另外,根据 python3.7.3 文档,str 类型的 translate() 函数只接受一个参数,没有原文中的第二个 deletechars 参数。bytearray, bytes 和 str 三种对象的 translate() 函数原型抄写如下:

    bytearray.translate(table, delete=b'')
    bytes.translate(table, delete=b'')
    str.translate(table)

    cangyin

    152***[email protected]

    7年前 (2019年07月06日)
  2. #0

    AUEND

    aue***163.com

    9

    在 Python3.8 以后,delete 参数确实没有了,不管是 delete= 还是直接写 b'string' 都会返回 translate() 只有一个参数,不能给予两个的错误提示。

    下面这个简单示例可以用:

    import string
    s = '###ABCD####EFG##'
    intab = "ABC"
    outab = "123"
    tab = str.maketrans(intab, outab)
     s.translate(tab)
    # 返回显示: '###123D####EFG##'
    # --------------------- 或者这个示例: ----------------------
    dtab = {ord("#"): "--", ord("B"): "$$"} # 直接用字典来作为 tab
    s.translate(dtab)
    # 返回显示: '------A$$CD--------EFG----'

    AUEND

    aue***163.com

    4年前 (2022年04月21日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /