str.maketrans() 方法

str.maketrans() 方法

功能概述

str.maketrans() 是 Python 中字符串對象的一個靜態方法,用于創建一個字符映射轉換表。這個轉換表本質上是一個字典,它定義了字符之間的替換規則,后續可以被 str.translate() 方法使用,以實現字符串中字符的批量替換。

語法及參數

str.maketrans() 方法有三種不同的調用方式:

方式一:一個參數的情況
str.maketrans(table)
  • 參數
    • table:必須是一個字典,字典的鍵是單個字符(字符串長度為 1),值可以是單個字符、字符串或者 None。當值是單個字符時,表示將鍵對應的字符替換為該值對應的字符;當值是字符串時,這種情況通常不常用,因為 translate() 方法會將字符串視為單個字符處理;當值為 None 時,表示刪除鍵對應的字符。
  • 示例
# 創建一個字符映射轉換表,將 'a' 替換為 'X',刪除 'b'
table = str.maketrans({'a': 'X', 'b': None})
print(table)  # 輸出是一個字典,鍵是字符的 ASCII 碼值
#{97: 'X', 98: None} 后續使用translate方法時,遇到ASCII 碼97會轉化為X,遇到ASCII 碼98會刪掉元素s = 'abc'
new_s = s.translate(table)
print(new_s)  # 輸出: Xc
方式二:兩個參數的情況
str.maketrans(from_str, to_str)
  • 參數
    • from_str:必須是一個字符串,包含要被替換的字符。
    • to_str:必須是一個與 from_str 長度相同的字符串,包含替換后的字符,且 from_str 中的每個字符會依次對應 to_str 中相同位置的字符。
  • 示例
# 創建一個字符映射轉換表,將 'abc' 分別替換為 'XYZ'
table = str.maketrans('abc', 'XYZ')
print(table)
#{97: 88, 98: 89, 99: 90}s = 'abc'
s = s.translate(table)
print(s)
#XYZ
方式三:三個參數的情況
str.maketrans(from_str, to_str, deletechars)
  • 參數
    • from_strto_str 的含義與兩個參數的情況相同。
    • deletechars:一個字符串,包含要從輸入字符串中刪除的字符。
  • 示例
# 創建一個字符映射轉換表,將 'abc' 分別替換為 'XYZ',并刪除 'd'
table = str.maketrans('abc', 'XYZ', 'd')
print(table)
#{97: 88, 98: 89, 99: 90, 100: None}
s = 'abcd'
s = s.translate(table)
print(s)
#XYZ

str.translate() 方法

功能概述

str.translate() 方法用于根據 str.maketrans() 方法創建的字符映射轉換表,對字符串中的字符進行批量替換或刪除操作。

語法及參數
str.translate(table)
  • 參數
    • table:是由 str.maketrans() 方法返回的字符映射轉換表。
  • 示例
# 使用兩個參數的 maketrans 創建轉換表
table = str.maketrans('abc', 'XYZ')
s = 'abcdef'
new_s = s.translate(table)
print(new_s)  # 輸出: XYZdef# 使用三個參數的 maketrans 創建轉換表
table = str.maketrans('abc', 'XYZ', 'd')
s = 'abcdef'
new_s = s.translate(table)
print(new_s)  # 輸出: XYZef

總結

str.maketrans() 方法的作用是創建字符映射轉換表,定義字符的替換和刪除規則;而 str.translate() 方法則根據這個轉換表對字符串進行實際的替換和刪除操作。通過這兩個方法的配合使用,可以方便地實現字符串中字符的批量處理。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/98250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/98250.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/98250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

敏感詞檢測API平臺推薦

敏感詞檢測API平臺推薦 背景簡介 敏感詞檢測用于識別文本中的違規、涉政、涉黃、辱罵等敏感詞,幫助產品在評論、彈幕、客服對話、運營文案、廣告投放等環節實現自動化質檢與合規攔截。市場上主要有兩類服務商: 專業型廠商:聚焦算法與工程落…

Day25_【深度學習(3)—PyTorch使用(6)—張量拼接操作】

張量的拼接操作在神經網絡搭建過程中是非常常用的方法,例如: 在后面將要學習的注意力機制中都使用到了張量拼接。torch.cat 函數可以將兩個張量根據指定的維度拼接起來,不改變數據維度。前提:除了拼接的維度,其他維度一定要相同。…

機器視覺在PCB制造中的檢測應用

機器視覺在PCB制造中的檢測應用🎯機器視覺在PCB制造中的檢測應用🎯一、基材預處理階段:基材表面缺陷檢測🎯二、線路制作階段:線路精度與缺陷檢測🎯三、鉆孔與導通孔加工階段:孔位與孔質量檢測&a…

Python面試題及詳細答案150道(136-150) -- 網絡編程及常見問題篇

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

【pdf.js】pdf檢索對應文本和高亮功能

文章目錄需求場景1、使用pdf.js解決pdf.js跨域2、預覽方案3、檢索方案4、實現效果??總結需求場景 本文主要針對網頁端 PDF 本地預覽場景,支持通過關鍵字對 PDF 進行檢索查詢,當點擊檢索結果列表中的對應關鍵字時,可同步在預覽界面中觸發內容…

kafka--基礎知識點--9.1--consumer 至多一次、至少一次、精確一次

1 自動提交 1.1 原理: Kafka 消費者后臺線程每隔 auto.commit.interval.ms 自動提交最近一次 poll() 的 offset 無需開發者干預 1.2 示例: enable.auto.committrue auto.commit.interval.ms5000 # 每 5 秒自動提交一次 from confluent_kafka import Con…

Python中的類:從入門到實戰,掌握面向對象編程的核心

目錄 一、類的概念:從“模板”到“個體” 1.1 什么是類? 1.2 類與對象的關系:模板與實例 1.3 類的核心價值:封裝與抽象 二、類的形式:Python中的類定義語法 2.1 類的基本定義 2.2 關鍵組成解析 (1&a…

用戶爭奪與智能管理:定制開發開源AI智能名片S2B2C商城小程序的戰略價值與實踐路徑

摘要 在零售行業數字化轉型的浪潮中,用戶爭奪已從傳統流量競爭轉向對用戶24小時時間分配權的深度滲透。本文以定制開發開源AI智能名片S2B2C商城小程序為核心研究對象,系統探討其通過技術賦能重構用戶接觸場景、提升轉化效率、增強會員黏性的作用機制。結…

數學_向量投影相關

Part 1 你的問題是:設相機光心的朝向 w (0, 0, 1)(即朝向正前方,Z 軸正方向), 在 相機坐標系下有一個平面,其法向量為 n_cam, 問:w 在該平面上的投影的單位向量 w_p,是不…

從RTSP到HLS:構建一個簡單的流媒體轉換服務(java spring)

從RTSP到HLS:構建一個簡單的流媒體轉換服務(java spring) 在當今的網絡環境中,實時視頻流媒體應用越來越廣泛,從在線直播到安防監控,都離不開流媒體技術的支持。然而,不同的流媒體協議有著各自的特點和適用場景。本文…

【代碼隨想錄算法訓練營——Day15】二叉樹——110.平衡二叉樹、257.二叉樹的所有路徑、404.左葉子之和、222.完全二叉樹的節點個數

LeetCode題目鏈接 https://leetcode.cn/problems/balanced-binary-tree/ https://leetcode.cn/problems/binary-tree-paths/ https://leetcode.cn/problems/sum-of-left-leaves/ https://leetcode.cn/problems/count-complete-tree-nodes/ 題解 110.平衡二叉樹想到用左子樹的高…

JVM新生代/老年代垃圾回收器、內存分配與回收策略

新生代垃圾收集器 1. Serial收集器 serial收集器即串行收集器,是一個單線程收集器。 串行收集器在進行垃圾回收時只使用一個CPU或一條收集線程去完成垃圾回收工作,并且會暫停其他的工作線程(stop the world),直至回收完…

Unity Mirror 多人同步 基礎教程

Unity Mirror 多人同步 基礎教程MirrorNetworkManager(網絡管理器)Configuration:配置Auto-Start Options:自動啟動Scene Management:場景管理Network Info:網絡信息Authentication:身份驗證Pla…

基于紅尾鷹優化的LSTM深度學習網絡模型(RTH-LSTM)的一維時間序列預測算法matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.部分程序 4.算法理論概述 5.完整程序 1.程序功能描述 紅尾鷹優化的LSTM(RTH-LSTM)算法,是將紅尾鷹優化算法(Red-Tailed Hawk Optimization, RTHO)與長短期…

深度學習“調參”黑話手冊:學習率、Batch Size、Epoch都是啥?

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,注冊即送-H卡級別算力,80G大顯存,按量計費,靈活彈性,頂級配置,學生更享專屬優惠。 引言:從"煉丹"到科學,…

【網絡實驗】-MUX-VLAN

實驗拓撲實驗要求: 在企業網絡中,企業員工和企業客戶可以訪問企業的服務器,對于企業來說,希望員工之間可以互相交流,但是企業用戶之間相互隔離,不能夠訪問。為了實現所有用戶都可以訪問企業服務器&#xff…

Java泛型:類型安全的藝術與實踐指南

Java泛型&#xff1a;類型安全的藝術與實踐指南 前言&#xff1a;一個常見的編譯錯誤 最近在開發中遇到了這樣一個編譯錯誤&#xff1a; Required type: Callable<Object> Provided: SalesPitchTask這個看似簡單的錯誤背后&#xff0c;隱藏著Java泛型設計的深層哲學。今天…

UMI企業智腦 2.1.0:智能營銷新引擎,圖文矩陣引領內容創作新潮流

在數字營銷日益激烈的今天&#xff0c;企業如何在信息洪流中脫穎而出&#xff1f;UMI企業智腦 2.1.0 的發布為企業提供了全新的解決方案。這款智能營銷工具結合了先進的AI技術與數據驅動策略&#xff0c;幫助企業優化營銷流程、提升效率&#xff0c;并通過圖文矩陣實現內容創作…

Lustre Ceph GlusterFS NAS 需要掛載在k8s容器上,數據量少,選擇哪一個存儲較好

在 K8s 容器環境中&#xff0c;數據量 不大的 規模下&#xff0c;Lustre、Ceph、GlusterFS 和 NAS 的選擇需結合性能需求、運維成本、擴展性和K8s 適配性綜合判斷。以下是針對性分析及推薦&#xff1a;一、核心對比與適用場景二、關鍵決策因素1. 性能需求高并發 / 高吞吐&#…

深入解析 Apache Doris 寫入原理:一條數據的“落地之旅”

在日常的數據分析場景中&#xff0c;我們經常會向 Apache Doris 寫入大量數據&#xff0c;無論是實時導入、批量導入&#xff0c;還是通過流式寫入。但你是否想過&#xff1a;一條數據從客戶端發出&#xff0c;到最終穩定落盤&#xff0c;中間到底經歷了哪些步驟&#xff1f; …