3.8 字符串的常用函數

重點:字符串的常用函數

#1.測試轉換大小寫 ?

lower:大寫->小寫 ? ?upper:小寫->大寫 ? swapcase:自動將大寫轉小寫小寫轉大寫

print("ABC".lower()) ? ? ? ? ? ?#abcprint("abc".upper()) ? ? ? ? ? ?#ABCprint("aBc".swapcase()) ? ? ? ? #aBc



2.刪除空格:

? ? ? ? strip:刪除兩端空格

? ? ? ? lstrip:刪除左邊的空格

? ? ? ? rstrip:刪除右邊的空格

#2.測試刪除空格

#stripprint(" ? ?zhangsan ? ? ".strip())#lstripprint(" ? ?zhangsan ? ? ".lstrip())#rstripprint(" ? ?zhangsan ? ? ".rstrip())


3.字符串位置

? ? ? ? center:把字符串居中顯示,并且用指定的字符填充在字符串左右。

? ? ? ? ljust:把字符串左對齊,并使用指定字符填充到指定寬度

? ? ? ? rjust:把字符串右對齊,使用指定字符將前面的填充完整

#測試字符串位置問題

#centerprint("lisi".center(50,"-")) ? ? ? ?#-----------------------lisi----------------------- ? lisi 與 - 加起來共為50個字符#ljustprint("lisi".ljust(50,"-")) ? ? ? ? #lisi---------------------------------------------- ?#rjustprint("lisi".rjust(50,"-")) ? ? ? ? #----------------------------------------------lisi


4.檢索字符匹配的索引:

? ? ? ? ? ? find():返回子字符串第一次出現的索引,如果檢索不到返回-1

? ? ? ? ? ? rfind:返回字符串最后一次出現的索引

? ? ? ? ? ? index:和find完全一樣,只是檢索不到會報錯沒有返回值

? ? ? ? ? ? rindex:返回字符串最后一次出現的索引

#find

print("i am wzw".find("w")) ? ? ? #5 ?因為空格也屬于字符串類型print("123456".find("9")) ? ? ? ? #-1 未檢索到輸出-1#rfindprint("i am wzw".rfind("w")) ? ? ? ?#7#index#print("123456".index("9")) ? ? ValueError: substring not found ?未檢索到會報錯

#案例:返回一個域名公司名稱的起始索引 ? ? ? ? ? www.baidu.com

print("www.baidu.com".find(".") + 1) ? ? ? ?#4


5.字符串的替換:

? ? ? ? ? ? replace("將替換的字符","替換后的字符")

#replace

print("i love python".replace("love","愛")) ? ? ? ? #i 愛 python



?

6.字符串的生成

? ? ? ? ? ? join:把可迭代對象(像列表、元組、集合等)中的元素連接成一個字符串,連接時會使用調用 join() 方法的字符串作為分隔符。

print("-".join("help")) ? ? ? ? # h-e-l-p

#案例:將列表中的所有元素通過 - 連接起來

list1 = [10,20,30,40,50]res = str(list1)res = res.replace("[","")res = res.replace("]","")res = res.replace(",","")res = res.replace(" ","")print("-".join(res)) ? ? ? ? ? ?#1-0-2-0-3-0-4-0-5-0 ? 思考如何變成 10-20-30-40-50


7.首字母大寫:

? ? ? ? ? ? capitalize:將首字母大寫

print("python".capitalize()) ? ? ? ?#Python

#count: 統計一個元素在字符串中出現的次數

print("i am wzw".count("w")) ? ? ? ?#2



8.判斷問題(bool類型 ?輸出為 T/F):

? ? ? ? ? ? startswith:檢查字符串是否以指定的前綴開始

? ? ? ? ? ? endswith:檢查字符串是否以指定的后綴結束

print("123wzw".startswith("123")) ? ? ? ? ? #Trueprint("123wzw".endswith("123")) ? ? ? ? ? ? #False


9.分割

? ? ? ? ? ? split("分割對象"):根據指定的分隔符將字符串分割成多個子字符串,并返回一個包含這些子字符串的列表。

'''

print("i am wzw".split(" ")) ? ? ? ? ? ? ? ?#['i', 'am', 'wzw'] ?以空格分割

print("i am wzw".split("w")) ? ? ? ? ? ? ? ?#['i am ', 'z', ''] ?w被切割掉了

#案例:輸入各科成績并使用空格分割

res = input("請輸入各科成績,并使用空格分割:")print(res.split(" ")[0]) ? ?#10print(res.split(" ")[1]) ? ?#20print(res.split(" ")[2]) ? ?#30'''

? ? ? ? 10. partition(子字符串):將一個字符串拆分為三部分,含子字符串本身及左右兩邊,返回一個元組

'''

print("i am wzw".partition("w")) ? ? ? ?#('i am ' , ?'w' , ?'zw')


11.自定義規則替換字符串

? ? ? ? ? ? maketrans: 定義映射規則

? ? ? ? ? ? translate: 根據規則替換字符串

str_a = "abcde"str_b = "12345"rule = str.maketrans(str_a,str_b) ? ? ? ? ? ? ? #定義映射規則print("at bt ct dt et".translate(rule)) ? ? ? ? #1t 2t 3t 4t 5t ? abcde已依次替換為12345


?

# 使用替換轉換表進行轉換

str_c = "abcdef"rule2 = str.maketrans('bdf', '123') ? ? ? ? ? #將bdf替換為123result1 = str_c.translate(rule2)print(result1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# a1c2e3

# 使用刪除轉換表進行轉換

rule3 = str.maketrans('', '', 'abc')result2 = str_c.translate(rule3)print(result2) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# def

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

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

相關文章

Docker:SkyWalking 鏈路追蹤的技術指南

1、簡述 Apache SkyWalking 是一個開源的 APM(應用性能監控)工具,能夠實現分布式系統的全鏈路監控、性能分析以及服務依賴關系分析。SkyWalking 支持多種語言的探針,提供強大的可視化監控和分析能力,是微服務架構下性能調優和問題排查的利器。 樣例代碼: https://gitee.…

[Lc] 最長公共子序列 | Fenwick Tree(樹狀數組):處理動態前綴和

目錄 LCR 095. 最長公共子序列 題解 Fenwick Tree(樹狀數組):處理動態前綴和 一、問題背景:當傳統方法遇到瓶頸 二、Fenwick Tree核心設計 2.1 二進制索引的魔法 2.2 關鍵操作解析 更新操作(O(log n)&#xff0…

python3.13.0環境安裝及python-docx庫安裝指南

1. Python環境安裝 1.1 Windows系統安裝Python 下載Python安裝包 ? 訪問Python官網 ? 點擊"Download Python 3.x.x"(推薦使用3.8及以上版本) 2. 運行安裝程序 ? 雙擊下載的安裝包 ? 重要:勾選"Add Python to environmen…

前端VUE框架理論與應用(4)

一、計算屬性 模板內的表達式非常便利,但是設計它們的初衷是用于簡單運算的。在模板中放入太多的邏輯會讓模板過重且難以維護。例如: <div id="example">{{ message.split().reverse().join() }}</div> 在這個地方,模板不再是簡單的聲明式邏輯。你…

MySQL:存儲函數和存儲過程

系列文章目錄 1.MySQL編程基礎 2.程序控制流語句 3.存儲過程 4.游標 5.嵌入式SQL 文章目錄 系列文章目錄前言一、程序控制流語句&#xff1a;二、存儲函數&#xff1a; 1.存儲函數的特點&#xff1a;2.存儲函數的定義&#xff1a;3.調用存儲函數 三、存儲過程&#xff1a;…

基礎貪心算法集合2(10題)

目錄 1.單調遞增的數字 2.壞了的計算器 3.合并區間 4.無重疊區間 5. 用最少數量的箭引爆氣球 6.整數替換 解法1&#xff1a;模擬記憶化搜索 解法2位運算貪心 7.俄羅斯套娃信封問題 補充.堆箱子 8.可被3整除的最大和 9.距離相等的條形碼 10.重構字符串 1.單調遞增的數字…

RaabitMQ 快速入門

&#x1f389;歡迎大家觀看AUGENSTERN_dc的文章(o゜▽゜)o☆?? &#x1f389;感謝各位讀者在百忙之中抽出時間來垂閱我的文章&#xff0c;我會盡我所能向的大家分享我的知識和經驗&#x1f4d6; &#x1f389;希望我們在一篇篇的文章中能夠共同進步&#xff01;&#xff01;&…

語音識別——根據聲波能量、VAD 和 頻譜分析實時輸出文字

SenseVoiceSmall網絡結構圖 ASR(語音識別)是將音頻信息轉化為文字的技術。在實時語音識別中,一個關鍵問題是:如何決定將采集的音頻數據輸入大模型的最佳時機?固定時間間隔顯然不夠靈活,太短可能導致頻繁調用模型,太長則會延遲文字輸出。有沒有更智能的方式?答案是肯定…

AI大模型如何重塑科研范式:從“假說驅動”到“數據涌現”

??個人主頁??:慌ZHANG-CSDN博客 ????期待您的關注 ???? 一、引言:科研進入“模型共研”時代 傳統科研范式通常以“假設→實驗→驗證→理論”的方式推進,這一經典路徑建立在人類的認知能力與邏輯推理基礎上。然而,隨著數據規模的爆炸式增長與知識系統的高度復雜…

使用Python寫入JSON、XML和YAML數據到Excel文件

在當今數據驅動的技術生態中&#xff0c;JSON、XML和YAML作為主流結構化數據格式&#xff0c;因其層次化表達能力和跨平臺兼容性&#xff0c;已成為系統間數據交換的通用載體。然而&#xff0c;當需要將這類半結構化數據轉化為具備直觀可視化、動態計算和協作共享特性的載體時&…

面試題:Eureka和Nocas的區別

Eureka 與 Nacos 核心區別對比 一、功能定位與核心能力 ?維度??Eureka??Nacos??核心功能?專注服務注冊與發現&#xff0c;無配置管理功能?:ml-citation{ref“1,3” data“citationList”}集成服務注冊、發現、配置管理、動態DNS等?:ml-citation{ref“1,3” data“c…

2025年4月15日 百度一面 面經

目錄 1. 代理相關 從靜態代理到動態代理 2. cglib可以代理被final修飾的類嗎,為什么 3. JVM 體系結構 4. 垃圾回收算法 5. 什么是注解 如何使用 底層原理 6. synchronized和reentrantlock 7. 講一下你項目中 redis的分布式鎖 與java自帶的鎖有啥區別 8. post 請求和 ge…

AI改變生活

AI改變生活 人工智能&#xff08;AI&#xff09;在我們生活中的應用越來越廣泛&#xff0c;深刻地改變了我們的工作和生活方式。以下是一些AI實際應用的實例&#xff0c;以及它們如何影響我們的日常生活。 1. 智能助手 智能助手如Siri、Alexa和Google Assistant等&#xff0…

信奧賽之c++基礎(取模運算與數位分離)

?? 數字拆解大冒險——取模運算與數位分離魔法課 ?? 第一章:糖果分裝術——取模運算 ?? 分糖果游戲 7顆糖每人分3顆: 每人得到:7 / 3 = 2顆剩余糖果:7 % 3 = 1顆(%就是取模符號) 就像把糖果裝袋后剩下的零散糖粒!?? 取模運算說明書 算式比喻結果10 % 310顆糖分…

揭秘大數據 | 21、軟件定義計算

老夫先將這個小系列的前兩篇內容鏈接奉上&#xff0c;方便感興趣的朋友一氣讀之。 揭秘大數據 | 19、軟件定義的世界-CSDN博客 揭秘大數據 | 20、軟件定義數據中心-CSDN博客 今天&#xff0c;書接上文&#xff0c;開聊軟件定義計算的那些事兒&#xff01; 虛擬化是軟件定義…

FPGA-DDS技術的波形發生器

1.實驗目的 1.1掌握直接數字頻率合成&#xff08;DDS&#xff09;的基本原理及其實現方法。 1.2在DE2-115 FPGA開發板上設計一個可調頻率的正弦波和方波發生器&#xff0c;頻率范圍10Hz~5MHz&#xff0c;最小分辨率小于1kHz。 1.3使用Quartus II進行仿真&#xff0c;并通過S…

LeetCode[541]反轉字符串Ⅱ

思路&#xff1a; 題目給我們加了幾個規則&#xff0c;剩余長度小于2k&#xff0c;大于等于k就反轉k個&#xff0c;小于k就全部反轉&#xff0c;我們按照這個邏輯來就行。 第一就是大于等于k就反轉k個&#xff0c;我們for循環肯定是i2k了&#xff0c;接下來就是判斷是否大于等于…

實現定長的內存池

池化技術 所謂的池化技術&#xff0c;就是程序預先向系統申請過量的資源&#xff0c;然后自己管理起來&#xff0c;以備不時之需。這個操作的價值就是&#xff0c;如果申請與釋放資源的開銷較大&#xff0c;提前申請資源并在使用后并不釋放而是重復利用&#xff0c;能夠提高程序…

路由器原理與配置技術詳解

一、路由基礎原理 1.1 路由器的核心功能 網絡層設備&#xff1a;工作在OSI參考模型第三層&#xff0c;實現不同網絡間的互聯互通智能路徑選擇&#xff1a;基于路由表為數據包選擇最優傳輸路徑協議轉換&#xff1a;處理不同網絡接口間的協議差異&#xff08;如以太網與PPP&…

Leetcode 3518. Smallest Palindromic Rearrangement II

Leetcode 3518. Smallest Palindromic Rearrangement II 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;Leetcode 3518. Smallest Palindromic Rearrangement II 1. 解題思路 這一題是題目Leetcode 3517. Smallest Palindromic Rearrangement I的升級版本&#xff0c;其主要的…