元組、列表、字典

来源:https://www.cnblogs.com/monkeyT/archive/2018/07/26/9374211.html
-Advertisement-
Play Games

元組 1.與字元串相同的是元組是一些元素的不可變有序序列。與字元串的區別是元組中的元素不一定是字元,其中的按個元素可以是任意類型,且他們彼此之間的類型也可以不同。 2.元組可以進行的操作: 重覆操作、連接、索引、切片... 3*('a',2) = ('a',2,'a',2,'a',2) ('a',2 ...


元組

1.與字元串相同的是元組是一些元素的不可變有序序列。與字元串的區別是元組中的元素不一定是字元,其中的按個元素可以是任意類型,且他們彼此之間的類型也可以不同。
2.元組可以進行的操作:
    重覆操作、連接、索引、切片...
    3*('a',2) = ('a',2,'a',2,'a',2)
    ('a',2) + ('b',3)
    a = (1,2,3)   a[0] = (1)
    a = (1,2,3)   a[0:2] = (1,2)

字元串

s.count(s1):計算字元串s1在s中出現的次數。
s.find(s1):返回子字元串s1在s中第一次出現時的索引值,如果s1不在s中,則返回-1。
s.rfind(s1):功能與find相同,只是從s的末尾開始反向搜索(rfind中的r表示反向)。
s.index(s1):功能與find相同,只是如果s1不在s中,則拋出一個異常(第7章)。
s.index(s1):功能與index相同,只是從s的末尾開始。
s.lower():將s中的所有大寫字母轉換為小寫。
s.replace(old, new):將s中出現過的所有字元串old替換為字元串new。
s.rstrip():去掉s末尾的空白字元。
s.split(d):使用d作為分隔符拆分字元串s,返回s的一個子字元串列表。

列表

1.與元組類似,列表也是值的有序序列,每個值都可以由索引進行標識。區別列表使用的是中括弧,而元組使用的是小括弧。
    註意:空列表寫作[],單元素列表不需要再比括弧前面加上那個(特別容易忘掉的)逗號
2.列表是可變的,而元組和字元串是不可變的。
3.列表操作:
    L.append(e):將對象e追加到L的末尾
    L.count(e):返回e在L中出現的次數
    L.insert(i,e):將對象e插入L中索引值為i的位置
    L.extend(L1):將L1中的項目追加到L末尾
    L.remove(e):從L中刪除第一個出現的e
    L.index(e):返回e第一次出現在L中時索引值。若e不在L中,拋出一個異常
    L.pop(i):刪除並返回L中索引值為i的項目。若L為空,則跑出異常;i被省略,預設為-1,刪除並返回L中最後一個元素
    L.sort(i):升序排列L中的元素
    L.reverse():翻轉L中元素的順序

列表推導式

1.列表推導式提供了一種簡介的方式,將某種操作應用到序列中的一個值上。他會創建一個新列表,其中的每個元素都是一個序列中的值應用給定操作後的結果。
mixed = [1, 2, 'a', 3, 4.0]
print([x**2 for x in mixed if type(x) == int])

高階函數

1.使用函數作為實參可以實現一種名為高階編程的編碼方式,這種方式與列表結合使用非常方便。
2.map高階函數:
    a.map函數被設計為與for迴圈結合使用。在map函數的最簡形式中,第一個參數是個一元函數(即只有一個參數的函數),第二個參數是有序的值集合,集合中可以一元函數的參數.
    b.map函數更一般的的形式是,第一個參數可以是具有N個參數的函數,在這種情況下,它後邊必須跟隨著N個有序集合(這些集合的長度都一樣)
    L1 = [1, 28, 36]
    L2 = [2, 57, 9]
    for i in map(min, L1, L2):
    print(i)    
3.匿名函數
匿名函數就是沒有綁定名稱的函數,這時要使用保留字lambda。一般表達式的形式為:
    lambda <sequence of variable names>: <expression>
lambda表達式lambda x,y:x*y會返回一個函數,這個函數的返回值為兩個參數的乘積。lambda表達式經常用作高階函數的實參。
    L = []
    for i in map(lambda x,y:x*y,[1,2,3,4],[3,2,1,0]):
        L.append(i)
    print(L)

輸出:[1,4,3,1]

序列類型比對

類型      元素類型        字面量示例           是否可變
str     字元型     '','a','abc'        否
tuple   任意類型        (),(2,),('abc',4)   否
range   整型          range(10)           否
list    任意類型        [],[3],['abc',4]    是

字典

1.字典(dictionary)類型的對象與列表很相似,區別在於字典使用鍵對其中的值進行引用,可以將字典看做一個鍵/值對的集合。字典類型的字面量用大括弧表示,其中元素寫法是鍵加冒號再加上值。
    monthNumbers = {'Jan':1, 'Feb':2, 'Mar':3, 'Apr':4, 'May':5,
    1:'Jan', 2:'Feb', 3:'Mar', 4:'Apr', 5:'May'}
2.dict中的項目是無序的,不能通過索引引用。
3.dict的操作:
    len(d):返回d中項目的數量。
    d.keys():返回d中所有鍵的視圖。
    d.values():返回d中所有值的視圖。
    k in d:如果k在d中,則返回True。
    d[k]:返回d中鍵為k的項目。
    d.get(k, v):如果k在d中,則返回d[k],否則返回v。
    d[k] = v:在d中將值v與鍵k關聯。如果已經有一個與k關聯的值,則替換。
    del d[k]:從d中刪除鍵k。
    for k in d:遍歷d中的鍵。

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

-Advertisement-
Play Games
更多相關文章
  • 網關服務的作用: 身份認證、路由服務、為前端服務的後端—數據聚合 身份認證 如果我們的微服務和終端通信,勢必要考慮身份認證,如果我們的微服務都與每個終端用戶打交道,那麼這些代碼就需要拷貝多份, 並且植入到每個微服務業務代碼中,這就造成業務代碼和身份認證代碼耦合,降低代碼的復用性。 路由服務 由運維人 ...
  • DVWA列出了最流行、危害最大的幾個漏洞中就有命令註入漏洞。這種漏洞利用起來非常的簡單。只要會使用基本的命令就可以利用,入門門檻非常非常的低。以DVWA為靶機,測試一下命令註入漏洞。 ...
  • 1. 學習計劃 1、Solr服務搭建 2、Solrj使用測試 3、把資料庫中的數據導入索引庫 4、搜索功能的實現 2. Solr服務搭建 2.1. Solr的環境 Solr是java開發。 需要安裝jdk。 安裝環境Linux。 需要安裝Tomcat。 2.2. 搭建步驟 第一步:把solr 的壓縮 ...
  • String類的概述 String 類代表字元串。Java 程式中的所有字元串字面值(如 "abc" )都作為此類的實例實現。字元串是常量,一旦被賦值,就不能被改變。 String類的構造方法 * public String():空構造 * public String(byte[] bytes):把 ...
  • 本文來自作者 未聞 在 GitChat 分享的{基於 Docker 的微服務架構實踐} 前言 基於 Docker 的容器技術是在2015年的時候開始接觸的,兩年多的時間,作為一名 Docker 的 DevOps,也見證了 Docker 的技術體系的快速發展。本文主要是結合在公司搭建的微服務架構的實踐 ...
  • ...
  • 由於在C++項目中,經常遇到處理字元方面的問題,故藉此機會整理一下,讓自己對於char , string 等有進一步的瞭解。 基本概念 由單引號括起來的一個字元成為char型字面值。雙引號括起來的零個或多個字元則構成字元串型字面值。 字元串字面值得類型=>由常量字元構成的數組,併在結尾處添加一個空字 ...
  • 進群:125240963 即可獲取數十套PDF哦! 進群:125240963 即可獲取數十套PDF哦! 前面幾天想看一個電影(至於什麼電影就不說了),搜了半天沒有中文字幕。 看日本電影再也不怕看不懂了,6行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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...