當前位置:首頁 » 編程語言 » python的list索引

python的list索引

發布時間: 2023-06-11 22:47:44

python的list 和tupe

一、list
list是python內置的有序的列表,可以隨時添加和刪除其中的元素
1、 定義

list_name = ["param1","param2","param3"]

2、訪問

1)用索引來訪問,索引從0開始

索引不可以越界,否則會報錯,最後一個元素的索引是len(city) - 1
2)還可以從後開始訪問 最後一個元素的索引為-1 依次類推,第一個元素的索引為-len(city)
>>> city[-1]
>>> '廣州'

3、元素的追加

4、元素的插入

在city的索引1處增加 重慶
>>> city.insert(1,'重慶')
>>> city
>>> ['北京', '重慶', '上海', '廣州', '南京']

5、元素的刪除
1)刪除末尾

2)刪除指定位置元素 pop(i),i為索引值

6、元素的替換

7、二維list

訪問的時候 我們就可以直接 city[1][0] city[1][1]來訪問 其中的元素值

二、tuple(元組)

tupe和list的最大的區別就是 tuple一旦被創建 就無法修改

1、定義

2、訪問
和list是一樣的 country[0],country[1]。由於tuple是不可變的,所以沒有append 和insert 函數

3、 一個元素的tuple

我們發現 當tuple的元素只有一個元素的時候,python會認為括弧就是小括弧的功能,就會按照整數或者字元串解析,為了解決這個問題,python規定這種情況 在後面加一個逗號','就可以

4、 tuple的指向不變

你會驚訝,怎麼可以變了呢??
其實在python內部,c[0],c[1]指向 1 和 2,而c[2]是指向的一個list對象,其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list並沒有改成別的list,所以,tuple所謂的「不變」是說,tuple的每個元素,指向永遠不變.

⑵ python 要怎麼判斷list是否超出索引范圍

題主你好,

可以利用len()函數進行判斷. 詳細邏輯如下:

假設我的列表為: a=['2022-06-24','2022-06-25','2022-06-26','2022-06-27','2022-06-28']

我先使用len()函數拿到列表a的長度,並將該長存到變數length中: length = len(a)

而列表索引的取值是以0為起始,以列表的長度減1結束,拿本例來說,列表a的索引取值范圍就是a[0]到a[4]共5個元素.

因此題主在判斷時,可以直接使用索引值和列表的最大索引進行比較,也就是和拿本例來說也就是和len(a)-1進行比較, 拿題主中提問中的例子來說就是用 7和len(a)-1進行比較,如果7小於等於len(a)-1則說明7這個索引沒有超出列表的索引范圍,反之.

-----

方法二: 利用異常捕獲結構:

*.上面兩種方法寫的不是很好, 但希望可以給題主提供一些解題思路.

-----

擴展閱讀: 網頁鏈接

=====

希望可以幫到題主, 歡迎追問.

⑶ Python 數據處理(二十四)—— 索引和選擇

如果你想獲取 'A' 列的第 0 和第 2 個元素,你可以這樣做:

這也可以用 .iloc 獲取,通過使用位置索引來選擇內容

可以使用 .get_indexer 獲取多個索引:

警告

對於包含一個或多個缺失標簽的列表,使用 .loc 或 [] 將不再重新索引,而是使用 .reindex

在以前的版本中,只要索引列表中存在至少一個有效標簽,就可以使用 .loc[list-of-labels]

但是現在,只要索引列表中存在缺失的標簽將引發 KeyError 。推薦的替代方法是使用 .reindex() 。

例如

索引列表的標簽都存在

先前的版本

但是,現在

索引標簽列表中包含不存在的標簽,使用 reindex

另外,如果你只想選擇有效的鍵,可以使用下面的方法,同時保留了數據的 dtype

對於 .reindex() ,如果有重復的索引將會引發異常

通常,您可以將所需的標簽與當前軸做交集,然後重新索引

但是,如果你的索引結果包含重復標簽,還是會引發異常

使用 sample() 方法可以從 Series 或 DataFrame 中隨機選擇行或列。

該方法默認會對行進行采樣,並接受一個特定的行數、列數,或數據子集。

默認情況下, sample 每行最多返回一次,但也可以使用 replace 參數進行替換采樣

默認情況下,每一行被選中的概率相等,但是如果你想讓每一行有不同的概率,你可以為 sample 函數的 weights 參數設置抽樣權值

這些權重可以是一個列表、一個 NumPy 數組或一個 Series ,但它們的長度必須與你要抽樣的對象相同。

缺失的值將被視為權重為零,並且不允許使用 inf 值。如果權重之和不等於 1 ,則將所有權重除以權重之和,將其重新歸一化。例如

當應用於 DataFrame 時,您可以通過簡單地將列名作為字元串傳遞給 weights 作為采樣權重(前提是您要采樣的是行而不是列)。

sample 還允許用戶使用 axis 參數對列進行抽樣。

最後,我們還可以使用 random_state 參數為 sample 的隨機數生成器設置一個種子,它將接受一個整數(作為種子)或一個 NumPy RandomState 對象

當為該軸設置一個不存在的鍵時, .loc/[] 操作可以執行放大

在 Series 的情況下,這實際上是一個追加操作

可以通過 .loc 在任一軸上放大 DataFrame

這就像 DataFrame 的 append 操作

由於用 [] 做索引必須處理很多情況(單標簽訪問、分片、布爾索引等),所以需要一些開銷來搞清楚你的意圖

如果你只想訪問一個標量值,最快的方法是使用 at 和 iat 方法,這兩個方法在所有的數據結構上都實現了

與 loc 類似, at 提供了基於標簽的標量查找,而 iat 提供了基於整數的查找,與 iloc 類似

同時,你也可以根據這些索引進行設置值

如果索引標簽不存在,會放大數據

另一種常見的操作是使用布爾向量來過濾數據。運算符包括:

|(or) 、 &(and) 、 ~ (not)

這些必須用括弧來分組,因為默認情況下, Python 會將 df['A'] > 2 & df['B'] < 3 這樣的表達式評估為 df['A'] > (2 & df['B']) < 3 ,而理想的執行順序是 (df['A'] > 2) & (df['B'] < 3)

使用一個布爾向量來索引一個 Series ,其工作原理和 NumPy ndarray 一樣。

您可以使用一個與 DataFrame 的索引長度相同的布爾向量從 DataFrame 中選擇行

列表推導式和 Series 的 map 函數可用於產生更復雜的標准

我們可以使用布爾向量結合其他索引表達式,在多個軸上索引

iloc 支持兩種布爾索引。如果索引器是一個布爾值 Series ,就會引發異常。

例如,在下面的例子中, df.iloc[s.values, 1] 是正確的。但是 df.iloc[s,1] 會引發 ValueError 。

⑷ python中的list和array的不同之處

在Python中,list和array都可以根據索引來取其中的元素,但是list可以用append或者+來新增元素或者添加數組,而array不行。具體區別如下:
1、作用不同
list是處理一組有序項目的數據結構;
array數組存儲單一數據類型的多維數組;
2、內置數據類型
list是Python的內置數據類型;
array數組需要導入標准庫才行,不屬於內慎賣腔置類型;
3、數據類型寬衫是否相同
list中的數據類不必相同的,即每個元素可以是不同的數據類型;
array則是由Numpy封裝,存放的元素都是相同的數據類型;
4、運算
列表list不可以進行數學四則運算;
數組array可以進行配爛數學四則運算;

⑸ 如何在python列表中查找某個元素的索引

一、創建一個列表
只要把逗號分隔的不同的數據項使用方括弧括起來即可。與字元串的索引一樣,列表索引從0開始。列表可以進行截取、組合等。如下所示:

七、Python列表操作的函數和方法
列表操作包含以下函數:1、cmp(list1, list2):比較兩個列表的元素
2、len(list):列表元素個數
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):將元組轉換為列表
列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的對象
2、list.count(obj):統計某個元素在列表中出現的次數
3、list.extend(seq):在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
4、list.index(obj):從列表中找出某個值第一個匹配項的索引位置
5、list.insert(index, obj):將對象插入列表
6、list.pop(obj=list[-1]):移除列表中的一個元素(默認最後一個元素),並且返回該元素的值
7、list.remove(obj):移除列表中某個值的第一個匹配項
8、list.reverse():反向列表中元素
9、list.sort([func]):對原列表進行排序。

⑹ python中list(range())、range()、list()函數的用法

轉自 https://www.cnblogs.com/foremostxl/p/9374771.html

Python  range() 函數返回的是一個可迭代對象(類型是對象),而不是列表類型, 所以列印的時候不會列印列表。

函數語法:

range(stop)range(start,stop,step)//默認start為0,step為1

Python  list() 函數是對象迭代器,可以把range()返回的可迭代對象轉為一個列表,返回的變數類型為列表。

list() 方法用於將元組轉換為列表。

註: 元組與列表是非常類似的,區別在於元組的元素值不能修改,元組是放在括弧中( ),列表是放於方括弧中[ ]。

元組中只包含一個元素時,需要在元素後面添加逗號

tup1=(50,)

list、元組與字元串的索引一樣,列表索引從0開始。列表可以進行截取、組合等。

⑺ python語句list執行結果

Python語句list(range(1,10,3))執行結果為[1,4,7]。

語法是:range(start,stop[,step])

參數說明:

(1)start:計數從start開始,默認是從0開始。例如range(5)等價於range(0,5);

(2)stop:計數到stop結束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]沒有5;

(3)step:步長,默認為1。例如:range(0,5)等價於range(0,5,1)。

因此,range(1,10,3)的意思是1到10之間的tuple,間隔為3,所以結果是(1,4,7)。

列表(List)是最常用的Python數據類型,它可以作為一個方括弧內的逗號分隔值出現。

所以,list(range(1,10,3))執行結果為[1,4,7]。



(7)python的list索引擴展閱讀

Python列表函數&方法

Python包含以下函數:

1、亂運cmp(list1, list2):比較兩個列表的元素;

2、len(list):列表元素個數;

3、max(list):返回列表元素最大值;

4、min(list):返回列表元素最小值;

5、list(seq):將元組轉換為列表。

Python包含以下方法:

1、list.append(obj):在列表末尾添加新的對象;

2、list.count(obj):統計某個元芹陪鬧素在列表中出現的次數;

3、list.extend(seq):在列表末尾一次性追加另嫌罩一個序列中的多個值(用新列表擴展原來的列表);

4、list.index(obj):從列表中找出某個值第一個匹配項的索引位置;

5、list.insert(index, obj):將對象插入列表;

6、list.pop([index=-1]):移除列表中的一個元素(默認最後一個元素),並且返回該元素的值;

7、list.remove(obj):移除列表中某個值的第一個匹配項;

8、list.reverse():反向列表中元素;

9、list.sort(cmp=None, key=None, reverse=False):對原列表進行排序。

⑻ python如何創建一個具有索引的list

創建列表的列表不就行了。如:
lst=[]
for i in range(8):
====lst.append([for v in range(i+1)])

熱點內容
酷狗音樂試聽緩存刪了會怎樣 發布:2025-02-13 11:02:12 瀏覽:267
python游戲服務端 發布:2025-02-13 11:00:19 瀏覽:927
雲原生伺服器 發布:2025-02-13 10:55:34 瀏覽:827
linuxip命令查看ip 發布:2025-02-13 10:49:45 瀏覽:421
java基礎應用 發布:2025-02-13 10:44:53 瀏覽:711
linux內核搶占 發布:2025-02-13 10:36:32 瀏覽:890
家裝公司源碼 發布:2025-02-13 10:35:35 瀏覽:49
aspnet更新資料庫 發布:2025-02-13 10:35:34 瀏覽:385
海爾壓縮機不工作 發布:2025-02-13 10:15:32 瀏覽:224
才兒坊編程 發布:2025-02-13 10:09:58 瀏覽:730