亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python列表與列表算法詳解

 更新時間:2021年08月18日 10:21:37   作者:wakeyo_J  
這篇文章主要介紹了Python的列表和列表算法,具有一定參考價值,需要的朋友可以了解下,希望能給你帶來幫助

1. 序列類型定義

序列是具有先后關系的一組元素

  • 序列是一維元素向量,元素類型可以不同
  • 類似數(shù)學運算序列:S0,S1,…,S(n-1)
  • 元素間由序號引導,通過下表訪問序列的特定元素

序列是一個基類類型

在這里插入圖片描述

序列處理函數(shù)及方法

在這里插入圖片描述

序列類型通用函數(shù)和方法

在這里插入圖片描述

2. 列表的基礎知識

2.1 列表定義

列表(list):是可變的序列型數(shù)據(jù),也是一種可以存儲各種數(shù)據(jù)類型的集合,用中括號([ ])表示列表的開始和結束,列表中的各元素之間使用半角逗號(,)分隔,且列表中每個元素都有一個對應的下標。

1)列表是序列類型的一種擴展,十分常用

  • 列表是一種序列類型,創(chuàng)建后可以隨意被修改
  • 使用[ ]或list()創(chuàng)建,元素間用英文逗號分隔
  • 列表中各元素類型可以不同,無限長度
a = []   #空列表
a = [1,2,3,None,'bdshsvh',[1,2,3,5]]

列表中的數(shù)據(jù)可以是python支持的任意數(shù)據(jù)。

2)列表的下標

列表的下表也是從0開始表示,反向則從-1開始。

在這里插入圖片描述

2.2 列表基本操作

列表支持對集合元素進行增加、查找、修改、刪除、合并操作等。

在這里插入圖片描述

1)列表元素的增加

append()方法:存在元素的列表尾部新增元素。

>>> fruits = ['apple',5,'peach',2,'watermelon',12]    #原有列表
>>> fruits.append('pear')   #用append()方法增加新元素
>>> fruits.append(15)
>>> print(fruits)
['apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]

insert()方法:可以在列表的任意指定位置增加元素。insert()方法的第一個參數(shù)為需要插入元素的列表的下表,第二個參數(shù)為指定的新增元素值。

>>> fruits.insert(0,'starfruit')
>>> fruits.insert(1,14.2)
>>> print(fruits)
['starfruit', 14.2, 'apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]

2)列表元素查找

index()方法:語法格式L.index(value,[start[,stop]]),其中L為列表對象,value代表需要在列表中查找的元素,start代表在列表中查找元素時開始查找的下標數(shù),stop代表查找結束時的下標數(shù),start和stop參數(shù)可選。若查找到元素,則返回第一個找到的元素,若沒有找到,則返回“ValueError…”錯誤信息。

>>> fruits.index("pear")
8
>>> fruits.index(1)
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    fruits.index(1)
ValueError: 1 is not in list
>>> fruits.index(2,5,12)
5

in成員運算符判斷

>>> 'a' in fruits
False

用in判斷的好處是不會產生報錯信息。

用下標讀取對應的元素

>>> fruits[5]
2
>>> fruits[8]
'pear'

切片讀取

>>> fruits[5:]
[2, 'watermelon', 12, 'pear', 15]

3)列表元素修改

列表通過指定下標,對對應的元素進行賦值修改。

>>> ls = ['Tom',1,5,8]
>>> ls[2] = 8
>>> ls
['Tom', 1, 8, 8]
>>> ls[3] = '元'
>>> ls
['Tom', 1, 8, '元']

4)列表元素修改

clear()方法:清楚列表中的所有元素。

>>> fruits.clear()
>>> fruits
[]
>>> len(fruits)
0

pop()方法:語法格式L.pop([index]),L代表列表,index為可選參數(shù),當指定index參數(shù)時,刪除對應下標位置處的元素(如果指定的參數(shù)值不在列表下標數(shù)中,會報錯)。pop()默認刪除列表尾部的第一個元素。

>>> listpop = ['球1','球2','球3']
>>> get_one = listpop.pop()
>>> print(get_one,'',listpop)
球3  ['球1', '球2']
>>> listpop.pop(2)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    listpop.pop(2)
IndexError: pop index out of range

remove()方法:L.remove(value),L代表列表,value代表要刪除的元素,如果要刪除的元素有多個時,只會刪除左邊的第一個。

>>> listpop = ['球1','球2','球3','球2']
>>> listpop.remove('球2')
>>> listpop
['球1', '球3', '球2']
>>> 

del函數(shù):可以刪除指定的元素,也可以刪除整個列表。

>>> del(listpop[2])
>>> listpop
['球1', '球3']
>>> del(listpop)
>>> listpop
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    listpop
NameError: name 'listpop' is not defined
>>> 

5)列表元素合并

對于兩個列表對象的合并,可以通過extend()方法

>>> team1 = ["張三","李四","王五"]
>>> team2 = ["Tom","John"]
>>> team1.extend(team2)
>>> team1
['張三', '李四', '王五', 'Tom', 'John']
>>> 

采用“+”也可以實現(xiàn)兩個列表對象的合并,但是會改變team1的內存地址,表示team1合并后被重新定義了,不再是最初的team1.

>>> team1 = ["張三","李四","王五"]
>>> team2 = ["Tom","John"]
>>> id(team1)
2172213272840
>>> team1.extend(team2)
>>> id(team1)
2172213272840
>>> team1 = team1 + team2
>>> team1
['張三', '李四', '王五', 'Tom', 'John']
>>> id(team1)
2172213337736

6)列表元素排序

sort()方法:L.sort(key=None,reverse=False),L表示列表,key為可選參數(shù),用于指定在作比較之前調用何種函數(shù)對元素進行處理,如key = str.lower(將大寫字母轉換為小寫字母函數(shù)),reverse為可選參數(shù),默認情況下為增序(一般根據(jù)ASCII碼從小到大對字符、數(shù)字進行排序)排序。

>>> fruits = ['banana','pear','apple','peach']
>>> fruit_1 = fruits.copy()
>>> fruit_1.sort()
>>> fruit_1
['apple', 'banana', 'peach', 'pear']
>>> fruit_h = fruits.copy()
>>> fruit_h.sort(reverse=True)
>>> fruit_h
['pear', 'peach', 'banana', 'apple']
>>> 
fruits = ['banana','pear','Apple','peach']
>>> fruit_s = fruits.copy()
>>> fruit_s
['Apple', 'banana', 'peach', 'pear']

7)列表其他操作方法

copy()方法:對列表進行拷貝。

>>> fruit_s = fruits.copy()
>>> fruit_s
['banana', 'pear', 'Apple', 'peach']
>>> id(fruits)
2172213342792
>>> id(fruit_s)
2172213273608

count()方法:對列表指定元素個數(shù)進行統(tǒng)計。

>>> vegetable = ['白菜','青菜','蘿卜','芹菜','菠菜','白菜','花菜']
>>> vegetable.count('白菜')
2

reverse()方法:對列表對象永久性反向記錄。

>>> vegetable = ['白菜','青菜','蘿卜','芹菜','菠菜','白菜','花菜']
>>> vegetable.reverse()
>>> vegetable
['花菜', '白菜', '菠菜', '芹菜', '蘿卜', '青菜', '白菜']
>>> 

列表解析

語法:

[expression for iter_val in iterable]
[expression for iter_val in iterable if cond_expr]

說明:expression為基于元素的運算表達式,如i**2,對每一個元素求平方,iter_val為從列表iterable迭代獲取的元素i,if子句判斷元素,cond_expr為判斷元素表達式。

>>> nums = [i**2 for i in range(11) if i>0]
>>> nums
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

相當于:

>>> nums =[]
>>> for i in range(1,11):
	nums.append(i**2)
>>> nums
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • Python讀取大量Excel文件并跨文件批量計算平均值的方法

    Python讀取大量Excel文件并跨文件批量計算平均值的方法

    這篇文章主要介紹了Python讀取大量Excel文件并跨文件批量計算平均值,介紹基于Python語言,實現(xiàn)對多個不同Excel文件進行數(shù)據(jù)讀取與平均值計算的方法,需要的朋友可以參考下
    2023-02-02
  • 分享Python?的24個編程超好用技巧

    分享Python?的24個編程超好用技巧

    這篇文章主要給大家分享Python?的24個編程超好用技巧,下面分享一些python技巧和?tips,這些技巧將根據(jù)其首字母按?A-Z?的順序進行展示,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-02-02
  • Django使用echarts進行可視化展示的實踐

    Django使用echarts進行可視化展示的實踐

    可視化是將數(shù)據(jù)轉換成圖形或圖像在屏幕上顯示出來,本文主要介紹了Django使用echarts進行可視化展示的實踐,感興趣的可以了解一下
    2021-06-06
  • Python中map,reduce,filter和sorted函數(shù)的使用方法

    Python中map,reduce,filter和sorted函數(shù)的使用方法

    這篇文章主要介紹了Python中map,reduce,filter和sorted函數(shù)的使用方法,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-08-08
  • Python中比較大小的幾種方法實例總結

    Python中比較大小的幾種方法實例總結

    在Python編程中經常需要比較兩個數(shù)的值,并根據(jù)大小關系進行賦值操作,下面這篇文章主要給大家介紹了關于Python中比較大小的幾種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Python django框架 web端視頻加密的實例詳解

    Python django框架 web端視頻加密的實例詳解

    這篇文章主要介紹了Python django框架 web端視頻加密,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Flask??request?對象介紹

    Flask??request?對象介紹

    本文介紹?Flask??request?對象,一個完整的?HTTP?請求,包括客戶端向服務端發(fā)送的Request?請求和服務器端發(fā)送?Response?響應.為了能方便訪問獲取請求及響應報文信息,Flask?框架提供了一些內建對象,下面就來說一下?Flask?針對請求提供內建對象reques,需要的朋友可以參考一下
    2021-11-11
  • numpy如何取出對角線元素、計算對角線元素和np.diagonal

    numpy如何取出對角線元素、計算對角線元素和np.diagonal

    這篇文章主要介紹了numpy如何取出對角線元素、計算對角線元素和np.diagonal問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 探索?Python?Restful?接口測試的奧秘

    探索?Python?Restful?接口測試的奧秘

    掌握Python?Restful?接口測試,讓你的后端服務像流水一樣順暢,本指南將帶你輕松穿梭于斷言和請求之間,搞定所有測試難題,一起來看,讓代碼在你的指尖跳舞吧!
    2023-12-12
  • Python list操作用法總結

    Python list操作用法總結

    這篇文章主要介紹了Python list操作用法,以實例形式較為詳細的總結分析了Python中l(wèi)ist的各種常見函數(shù)的功能與使用方法,需要的朋友可以參考下
    2015-11-11

最新評論