python.day.04——常用數據類型(一):str&List

来源:https://www.cnblogs.com/Rosay9204781/archive/2018/06/08/9157307.html
-Advertisement-
Play Games

一、常用字元串操作 upper(x)把字母變成大寫 lower(x)把字母變成小寫 split(str,num) 對字元串進行切割,返回一個列表:str-分隔符,預設為所有的空字元,包括空格,換行(\n),製表符(\t)等;num -- 分割次數 strip(chars ) 移除字元串頭尾指定的字元 ...


一、常用字元串操作

  • upper(x)把字母變成大寫
  • lower(x)把字母變成小寫
str_1="hello,python,lower,'666','777'"
#upper()把字母編程大寫
#lower()把字母變成小寫
print(str_1.upper())
print(str_1.lower())
  • split(str,num)  對字元串進行切割,返回一個列表:str-分隔符,預設為所有的空字元,包括空格,換行(\n),製表符(\t)等;num -- 分割次數
str_1 = "hello,python,lower,'666','777'"
print(str_1.split('l'))   # ['he', '', 'o,python,', "ower,'666','777'"]
print(str_1.split(','))   # ['hello', 'python', 'lower', "'666'", "'777'"]
print(str_1.split(',', 2))   # ['hello', 'python', "lower,'666','777'"]
  • strip(chars ) 移除字元串頭尾指定的字元(預設為空格或換行符)或字元序列,返回一個字元串:chars -- 移除字元串頭尾指定的字元序列
str_2="6hello,python,lower,'666','7776'"
str_3="8888hello,python,lower,'666','77768888'"
print(str_2.split('6'))   # ['', "hello,python,lower,'", '', '', "','777", "'"]
print(str_3.split('8'))   # ['', '', '', '', "hello,python,lower,'666','7776", '', '', '', "'"]
  • join  把join前面的字元串/字元 跟join傳進來的字元串  每一個都要進行拼接

 

str_2="6hello,python,lower,'666','7776'"
print('e6'.join(str_2))

控制台輸出:
6e6he6ee6le6le6oe6,e6pe6ye6te6he6oe6ne6,e6le6oe6we6ee6re6,e6'e66e66e66e6'e6,e6'e67e67e67e66e6'

備註:常使用來對字元進行拼接,或者將列表數據類型轉換成字元串數據類型

new_numbers = []
for n in List:
  new_numbers.append(str(n))
numbers = new_numbers
num = ''.join(numbers)
print("加密後輸出的整數為:%s" % num)

二、列表的處理

  • 切片操作
  • # 切片操作
    name = ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    print('1:', name)
    print('2:', name[0], name[2])
    print('3:', name[1:3]) #切片
    print('4:', name[-2:]) #切片
    print('5:', name[::-1])   #切片的結果是倒序排列
    print('6:', name[:-1])    #切片的結果是,輸出到倒數第二位  -1-1=-2
    
    控制台輸出
    1: ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    2: trek redline
    3: ['cannondale', 'redline']
    4: ['specialized', 'trek']
    5: ['trek', 'specialized', 'redline', 'cannondale', 'trek']
    6: ['trek', 'cannondale', 'redline', 'specialized']
  • 增加:在列表的後面新增元素 append();在列表的任何位置中插入元素insert();
  • name = ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    name.append("guapi")           #在列表中添加新的元素,附加到列表的末尾
    name.insert(1, "nihao")        #在列表的任何位置添加元素
    name.insert(3, "doudou")
    name[2] = "guyun"              #修改列表中的元素
  • 索引:若不知道該元素的位置可以通過index()來進行搜索
  • name = ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    print("1:", name.index("trek"))
    print("2:", name[name.index("trek")])
    
    控制台輸出:
    1: 0
    2: trek
  • 刪除:直接刪除元素remove();指定位置開始刪除pop(x):若要使用remove()進行刪除,必須先索引一下自己的要刪除的元素是否存在,若不存在系統會拋出異常;pop()若不含參數則,從末尾開始刪除
  • name.remove("guyun")          #直接刪除元素
    del name[1]                   #根據元素的下標,來刪除元素
    name.pop()                    #不輸入下標,刪除預設最後一個值
    name.pop(1)
  • 清空列表clear();統計某個元素的個數count()
  • #name.clear()   #清空列表
    #print(name.count("trek"))   #count 統計個數
  • 反轉與排序:reverse()  /  sort()
  • name.reverse()        #reverse 反轉
    print(name)
    name.sort()           #sort 排序 (按照ASCTT中的排序方法)
    print(name) 
    
    控制台輸出:
    ['trek', 'specialized', 'redline', 'cannondale', 'trek']
    ['cannondale', 'redline', 'specialized', 'trek', 'trek']
  • 更改:更改列表中的元素
  • list_1=[1,2,'666']
    list_1[2]='python'  #更改為字元串
    print(list_1)
    list_1[2]=666  #更改為整形
  • 複製:copy()
  • name = ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    name3 = name.copy()
    print('1:name--', name)
    print('2:name3--', name3)
    name.insert(1, "susu")
    print('3:name--', name)
    print('4:name3--', name3)
    
    import copy
    name4 = copy.copy(name)      #淺copy
    print('5:name--', name)
    print('6:name4--', name4)
    name5 = copy.deepcopy(name)   #深copy
    print('7:name--', name)
    print('8:name5--', name5)
    name6 = name[:]              #淺copy
    name7 = list(name)           #淺copy
    print('9:name6--', name6)
    print('10:name7--', name7)
    
    控制台輸出:
    1:name-- ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    2:name3-- ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    3:name-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']
    4:name3-- ['trek', 'cannondale', 'redline', 'specialized', 'trek']
    5:name-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']
    6:name4-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']
    7:name-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']
    8:name5-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']
    9:name6-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']
    10:name7-- ['trek', 'susu', 'cannondale', 'redline', 'specialized', 'trek']

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Description 下麵的程式輸出結果是: A::Fun A::Do A::Fun C::Do 請填空: 程式代碼如下 ~~~~ include using namespace std; class A { private: int nVal; public: void Fun() { cout ...
  • 當我們瀏覽網頁的時候,經常會看到像下麵這些好看的圖片,你是否想把這些圖片保存下載下來。 我們最常規的做法就是通過滑鼠右鍵,選擇另存為。但有些圖片點擊滑鼠右鍵的時候並沒有另存為選項,或者你可以通過截圖工具截取下來,但這樣就降低圖片的清晰度,並且這樣效率很低。 那腫麽辦呢? 我們可以通過python 來 ...
  • Description 下麵程式的輸出結果是: destructor B destructor A 請完整寫出 class A。 限制條件:不得為 class A 編寫構造函數。 ~~~~ include using namespace std; class A { // Your Code Her ...
  • 一、概念 早期的 Java API 只支持由本地系統套接字型檔提供所謂的阻塞函數來支持網路編程。由於是阻塞 I/O ,要管理多個併發客戶端,需要為每個新的客戶端Socket 創建一個 Thread 。這將導致一系列的問題,第一,在任何時候都可能有大量的線程處於休眠狀態(不可能每時每刻都有對應的併發數) ...
  • 必需學會SpringBoot基礎知識 Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is ...
  • 本篇教大家如何用Python來實現QQ機器人,如有不足歡迎在評論方指出! 簡單介紹 安裝方法 可在 Python個版本下使用,用 pip 安裝: 使用方法 一、啟動 QQBot 二、操作 QQBot QQBot 啟動後,在另一個控制台視窗使用 qq 命令來操作 QQBot ,目前提供以下命令: li ...
  • 現有要求如下: 通過cmd的方式,求簡單表達式的值。 比如輸入 java Expression 3 + 4 得到的結果為:7 代碼: import java.text.DecimalFormat; public class Expression { public static void main(S ...
  • 本節主要內容:1. 初識⽂件操作2. 只讀(r, rb)3. 只寫(w, wb)4. 追加(a, ab)5. r+讀寫6. w+寫讀7. a+寫讀(追加寫讀)8. 其他操作⽅法9. ⽂件的修改以及另⼀種打開⽂件句柄的⽅式 主要內容:⼀. 初識⽂件操作使⽤python來讀寫⽂件是⾮常簡單的操作. 我們 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...