使用list和tuple

来源:http://www.cnblogs.com/liguangao/archive/2016/02/02/5178526.html
-Advertisement-
Play Games

list是一種有序的集合,可以隨時添加和刪除其中的元素。定義有序的集合: classmates = ['Michael', 'Bob', 'Tracy'] 用len()函數可以獲得list元素的個數: len(classmates) 用索引來訪問list中每一個位置的元素,記得索引是從0開始的: c...


list是一種有序的集合,可以隨時添加和刪除其中的元素。定義有序的集合:

classmates = ['Michael', 'Bob', 'Tracy']

len()函數可以獲得list元素的個數:

len(classmates)

用索引來訪問list中每一個位置的元素,記得索引是從0開始的:

classmates[0]

當索引超出了範圍時,Python會報一個IndexError錯誤,所以,要確保索引不要越界,記得最後一個元素的索引是len(classmates) - 1

如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素:

classmates[-1]

list是一個可變的有序表,所以,可以往list中追加元素到末尾:

classmates.append('Adam')

也可以把元素插入到指定的位置,比如索引號為1的位置:

lassmates.insert(1, 'Jack')

要刪除list末尾的元素,用pop()方法:

classmates.pop()

要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:

classmates.pop(1)

要把某個元素替換成別的元素,可以直接賦值給對應的索引位置:

classmates[1] = 'Sarah'

list裡面的元素的數據類型也可以不同,比如:

L = ['Apple', 123, True]

list元素也可以是另一個list,比如:

s = ['python', 'java', ['asp', 'php'], 'scheme']
s[2][0]

 

 

tuple
tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:
classmates = ('Michael', 'Bob', 'Tracy')

要定義一個只有1個元素的tuple,只有1個元素的tuple定義時必須加一個逗號,,來消除歧義:

t = (1,)
小結

list和tuple是Python內置的有序集合,一個可變,一個不可變。根據需要來選擇使用它們。


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

-Advertisement-
Play Games
更多相關文章
  • 查詢資料有以下兩種方法: 1、 <#if appMap?exists> <#list appMap?keys as key> key:${key} value:${appMap.get(key)} </#list> </#if> 2、 <#list testMap.keySet() as testK
  • C++學習計劃 一、課程概況 1.課程名稱:c++遠征攻略 2.授課人姓名:james_yuan 3.課程鏈接地址: 二、課程列表 1.全部的課程 由於我有了一些c語言的基礎,所以我跳過了遠征前準備的課程直接進入了遠征起航的課程。 2.遠征起航的課程 這部分有兩部分: 第一部分的課程: 第二部分的課
  • java中記憶體的分配方式有兩種,一種是在堆中分配,一種是在堆棧中分配,所有new出來的對象都是在堆中分配的,函數中參數的傳遞是在棧中分配的。通常情況下堆的記憶體可以很大,比如32位操作系統中的虛擬記憶體都可以被堆所使用(當記憶體緊張的時候甚至硬碟都可以是堆的存儲空間),而堆棧的記憶體分配是有限的。 這和c+
  • Description: 求1!+2!+3!+4!+...+n!的結果。 Input: 輸入數據含有不多於50個的正整數n(1≤n≤12)。 Output: 對於每個n,輸出計算結果。每個計算結果應占獨立一行。 Sample Input: 3 6 Sample Output: 9 873 #incl
  • 本文從3個方面對Socket編程進行詳解: 一,網路編程中兩個主要的問題 二,兩類傳輸協議:TCP;UDP 三,基於Socket的java網路編程 一,網路編程中兩個主要的問題 一個是如何準確的定位網路上一臺或多台主機,另一個就是找到主機後如何可靠高效的進行數據傳輸。 在TCP/IP協議中IP層主要
  • <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <m
  • <!-- MyBatis框架 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!-- MySql資料庫驅動
  • 之前寫了一題費用流,竟然硬是在寫SPFA時為DIS數組賦初始值用了MEMSET數組QAQ 調試了很久也沒有弄明白自己是卡在那裡了,,,感覺被自己蠢哭了QWQ 錯誤的姿勢!! #include <cstring> #include <iostream> #include <cstdio> using
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...