python入門第五課:數字列表的操作、列表切片與複製、元組的遍歷

2020-12-11 傫傫若遺

本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes

一、數字列表的操作

我們經常需要處理純數字的列表,這就不得不提到一個很常用的函數range(),用這個函數可以批量產生數字,比如我們想自動生成1到10的數字,就要用range(1,11),可以輸出1到10,見下面的代碼:

for value in range(1,11):print(value)

上面代碼有個地方要特別注意,range函數內是(1,11),而不是(1,10),這裡很容易寫錯。

上面雖然輸出了1-10這些數字,但還不是列表的形式。需要使用list()函數轉換一下才能形成列表,寫成這樣list(range(1,11)),見下面代碼:

numbers = list(range(1,11))print(numbers)

Range()函數可以指定步長,比如我們每個2位取一個值,可以寫成這樣:range(1,11,2),輸出結果是:[1, 3, 5, 7, 9]。

利用range()函數幾乎可以產生任何的數列,比如我們需要產生1到10的平方數列(Python中兩個星號(** )表示乘方運算),可以這麼寫:

squares = [] #先定義一個空列表for value in range(1,11):squares.append(value**2) #把每個元素添加到列表的尾部print(squares) #列印最終的列表內容

可以利用常用的統計函數min()、max()、sum()進行列表統計,見下面的代碼:

digits = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]print('列表中最小值是:',min(digits))print('列表中最大值是:',max(digits))print('列表所有數總和是:',sum(digits))

再介紹一個概念叫「列表解析」,它是列表生產的一種簡寫形式,還是生產平方的例子,可以用下面代碼:

squares = [value**2 for value in range(1,11)]

這個代碼和上面for循環的前三行代碼是等價的,初學者用不慣不要緊,但是看到這個寫法需要知道什麼意思,執行結果如下:

數字列表的相關操作就介紹到這裡,下面介紹列表的切片操作。

二、列表的切片

切片的意思就是只訪問列表的部分元素,就像切黃瓜,如果我們只需要黃瓜的一小段,就會用到切片的概念,列表切片的操作符如下:

[開始位置:結束位置]

廢話不多說,直接上代碼:

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]print('元素列表',digits)print('取列表中第3到第6個位置的元素',digits[2:6])print('取列表開始到第6個位置的元素',digits[:6])print('取第三個位置開始到列表結束',digits[2:])print('取倒數三個數',digits[-3:])print('末尾三位數不取',digits[:-3])print('取倒數第四個到倒數第2個之間的值',digits[-4:-1])print('取全部的列表',digits[:])

知道怎麼切片,就知道怎麼遍歷切片了,只需要在for循環裡面將全部的列表換成切片的列表就行,見下面的代碼:

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]for data in digits[2:6]: #取列表中第3到第6個位置的元素print(data)

三、列表的複製

可以利用切片的功能實現列表的複製,下面代碼的digits2 = digits1[:]就是將digits1複製一份:

digits1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]digits2 = digits1[:] #複製列表#下面在每個列表的尾部加一個不同的值區分digits1.append(15)digits2.append(19)#然後把兩個列表的值都列印出來,會發現確實是兩個不同的列表print(digits1)print(digits2)

為什麼不能用digits2 = digits1這種方式複製呢?大家可以自己思考一下。

四、元組

Pyhon中與列表很類似的一個數據類型叫「元組」,它們的區別在於:列表的元素是可以改變的(增刪改),元組的元素不能改變。元組的遍歷代碼和列表完全一樣。元組用一個括號包含起來,比如下面就是一個元組:

(1,2,54,3,6,4)

我們可以這麼遍曆元組,下面的代碼出了將[]改為()外,其他代碼都和列表遍歷一模一樣。

digits = (1,2,54,3,6,4)for value in digits:print(value)

長按文末點讚送三連,支持本文作者多寫點~

#Python入門教程#

相關焦點

  • python變量類型,列表和元組
    微信公眾號:學點啥玩點啥小白友好型python變量類型,列表和元組# -*- coding: utf-8 -*-"""Created on Mon Jan 25 12:25:55 2021@author: sd"""#第2章.變量和簡單數據類型#變量#1.字符串
  • 一文看懂Python列表、元組和字符串操作
    序列1 列表列表(List)是Python中非常重要的內置數據類型。列表由一系列元素組成,所有的元組被包含在一對方括號中。列表被創建將後,可以執行添加、刪除、修改操作。列表中可包含任意的Python數據信息,如字符串、數字、列表、元組等。
  • Python容器:列表與元組
    與字符串不同的是,元組和列表並不要求所有元素的種類相同,每個元素都可以是任何python類型的對象。列表可變,賦值後可插入或刪除其中的元素。元組不可變,賦值後不可更改。1.6指定範圍並使用切片提取元素>>> marxes=['Groucho','Chico','Harpo']>>> marxes[0:2]['Groucho', 'Chico']列表的切片仍然是一個列表。
  • python 列表和元組 還有range
    python 列表和元組主要內容:1. 列表的介紹2.列表的增刪改查3. 列表的嵌套4. 元組和元組嵌套5. range1、列表的介紹列表是python的基礎數據類型之一 ,其他程式語言也有類似的數據類型。
  • Python列表和元組
    @Author :RunsenPython列表和元組總結什麼是列表和元組列表是動態的,長度大小不固定,可以隨意地增加、刪減或者改變而元組是靜態的,長度大小固定,無法增加刪減或者改變定義列表和函數```l = [1, 2, 'hello', 'world'] # 列表中同時含有
  • python 通關列表操作方法詳解
    給IT入門加星標,提升編程技能列表是Python中最基本的數據結構,列表是最常用的Python數據類型,列表是一個數據的集合,集合內可以放任何數據類型,可對集合方便的增刪改查操作。Python已經內置確定序列的長度以及確定最大和最小的元素的方法學好python列表,把以下案例練習一遍,算通關·序號函數描述1list.append(self,p_object)給列表後面追加新的對象2list.clear(self)清空列表中的元素3list.copy(self)淺複製列表4list.count(self,value)統計某個元素在列表中出現的次數5list.extend
  • Python3 量化分析筆記小白到破產-列表進階 切片組合
    文:藍兔子讀難NOTES圖: 配圖 來源於網絡Python3 量化分析從小白到破產筆記列表的進階 切片與組合編碼:0009在前面的內容中,我們說人人都愛列表,老闆也動不動就讓你列個表。我們講了如何列出一個表,如何對表中的元素進行:增、刪、改等操作。這篇文章的內容,我們將進行更高階一點的操作。
  • python入門第四課:列表的排序、元素遍歷
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節介紹列表的操作,包括列表的排序、元素遍歷等操作。')Mylists.sort(reverse=True) #加入參數reverse=True後按降序排列print(Mylists,' 降序排列')本例是按數字排序,也可以對字母,甚至中文排序,大家可以自己改一下列表的內容試試。
  • python數據類型總結——列表
    python用列表或元組來幫助我們。python列表一系列元素組成一個集合,可能通過索引,對每個元素進行訪問。這種數據類型統稱為序列。在python中,字符串就是一種序列。列表,也是序列的一種。可以用中括號來聲明列表。列表是可變的。如下:
  • python編程入門八:列表、元組、字符串的轉換及補充方法
    在python中,包括我們之前已經講過列表、元組及字符串的一些用法了,大家應該可以感覺到,這三種「數據類型」還是有很多相同之處的,
  • 史上最全的Python數據結構:列表和元組用法總結
    (馬上要到中秋節了,這個元組讓我想起了元祖雪月餅)好吧有點跑題了,我總結了一下列表的十幾招的基本用法,基本上你想要的這裡都有了.1.List列表這個是python裡面用的最多最常用的數據類型,可以通過下標來訪問,可以理解為java或者c裡面的數組.但是功能比數組強大n倍,list可以放任意數量的python對象,可以是字符串,字符,整數,浮點等等都可以,而且創建,
  • 一分鐘學Python|Python的列表和元組
    list和tuple首先來一波簡單粗暴的對比:1、python中的列表list是變量,而元組tuple是常量。簡單地說元組是固定不可改變的,意味著一旦被創建它的內容無法被修改;列表則不同,被創建可根據自己的想法隨意改變,同時改變列表的函數方法也有很多。
  • Python 列表(List)操作方法詳解
    列表中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。Python有6個序列的內置類型,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,Python已經內置確定序列的長度以及確定最大和最小的元素的方法。
  • [快學Python3]List(列表)
    :len用於計算列表元素的個數max返回列表中元素最大值min返回列表中元素最小值list將元組轉換成列表下面我們一起看看上述四個函數的示例:__author__ = u'苦葉子'切片因為列表也是一個序列,所以我們可以使用Python的切片機制來訪問元組中指定位置的元素,也可以截取其中的一段元素。
  • Python3的基本類型,列表(瘋狂Python)
    本章內容框架結構:1.簡述列表[list],元組[tuple],字典[dict]2.了解一下序列3. List(列表)1.簡述列表[list],元組[tuple],字典[dict]1-1 python內置三種常用的數據結構:list,tuple,dict,都可用於保存多個數據項。
  • python列表,python列表添加刪除元素操作大全,學習python第7天
    在python中想一次性存儲100個數值在一起就需要使用到python列表,而python列表是什麼?python列表有哪些操作呢?下面羽憶教程為您介紹。列表有哪些操作呢?循環遍歷python列表在python中,一般循環使用的是for循環和while循環,而python列表是如何通過循環來遍歷的呢?下面一一為你介紹。
  • Python的list、元組、字典、字符串常用方法操作
    導讀Python的list、元組、字典、字符串常用方法操作
  • Python 基礎一 (列表)
    Python包含6中內建的序列,即列表、元組、字符串、Unicode字符串、buffer對象和 xrange 對象。最常見的是列表和元組。序列通用的操作包括:索引、長度、組合(序列相加)、重複(乘法)、分片、檢查成員、遍歷、最小值和最大值。
  • Python序列類型及操作——元組 (),列表「」
    序列類型定義序列是具有先後關係的一組元素序列是一維元素向量,元素類型可以不同類似數學元素序列: s 0 , s 1 , … , s n-1元素間由序號引導,通過下標訪問序列的特定元素序列類型包含:字符串類型、元組類型、列表類型序列的序號呈正向遞增和反向遞減:2.
  • Python學習筆記:列表、元組和字典
    第3章 列表、元組和字典python內置的三種常見數據結構:列表(list)、元組(tuple)和字典(dict)。這三種數據結構都可用於保存多個數據項。列表和元組比較相似,它們都按順序保存元素,每個元素都有自己的索引,因此列表和元組都可通過索引訪問元素。二者的區別在於列表是可修改的,元組不可修改。字典則以key-value的形式保存數據。