欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python列表的索引與切片

 更新時間:2022年04月07日 09:36:45   作者:渴望力量的哈士奇  
這篇文章主要介紹了Python列表的索引與切片,索引用來對單個成員(元素)進行訪問,切片則是對一定范圍內(nèi)的成員(元素)進行訪問。下文相關自來需要的小伙伴可以參考一下

什么是索引?

  • 哪些數(shù)據(jù)類型里有索引的概念? —> 字符串、列表、元組
  • 從最左邊記錄的位置開始就是索引
  • 索引用數(shù)字表示,起始位是從 0 開始
  • 字符串、列表、元組的最大索引是他們的長度 - 1

示例如下:

names = ['Neo', 'Jack', 'Adem']
print(names[0])?? ??? ??? ?# >>> Neo
print(names[-1])?? ??? ?# >>> Adem
print(names[5])?? ??? ??? ?# IndexError: list index out of range?? ?沒有索引為5的元素,所以報錯

什么是切片?

  • 索引用來對單個成員(元素)進行訪問,切片則是對一定范圍內(nèi)的成員(元素)進行訪問
  • 切片通過冒號的方式在中括號內(nèi)把相隔的兩個索引位置范圍內(nèi)的成員(元素)找出來,如 [0:10]
  • 切片的規(guī)則:左含,右不含; 左邊包含,右邊不包含
  • 通過切片方式獲取的完整的列表已經(jīng)不再是原來的列表了,即使獲取的是原來列表的完整的內(nèi)容

示例如下:

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(num_list[3:7])

執(zhí)行結(jié)果如下:

>>> [4, 5, 6, 7]

獲取列表的完整內(nèi)容如下:

names = ['Neo', 'Jack', 'Adem']
print('names 列表完整的內(nèi)容是:', names[:])
print('names 列表完整的內(nèi)容是:', names[0:])

執(zhí)行結(jié)果如下:

>>> names 列表完整的內(nèi)容是: ['Neo', 'Jack', 'Adem']
 >>> names 列表完整的內(nèi)容是: ['Neo', 'Jack', 'Adem']

通過切片方式獲取的完整的列表已經(jīng)不再是原來的列表了,即使獲取的是原來列表的完整的內(nèi)容,

示例如下:

names = ['Neo', 'Jack', 'Adem', 'Lily']
print('\'names\' 列表的內(nèi)存地址為:', id(names))
print('索引獲取的完整\'names\' 列表的內(nèi)存地址為:', id(names[0:]))

# 執(zhí)行結(jié)果如下:
# >>> 'names' 列表的內(nèi)存地址為: 140522949689152
# >>> 索引獲取的完整'names' 列表的內(nèi)存地址為: 140522949686656?

反序獲取列表成員(元素),示例如下:

num_list = [1, 2, 3, 4, 5, 6, 7, 8]
print(num_list[::-1]) ? ? ? # 列表的反序
print(num_list[-3:-1]) ? ? ?# 列表的反向獲取
print(num_list[0:8:2]) ? ? ?# 列表的步長獲?。骸久扛?步長(也可以理解為每兩個數(shù)值)獲取索引0到8的元素】

# 執(zhí)行結(jié)果如下:
# >>> [8, 7, 6, 5, 4, 3, 2, 1]
# >>> [6, 7]
# >>> [1, 3, 5, 7]

切片生成空列表,示例如下:

num_list = [1, 2, 3, 4, 5, 6, 7, 8]
print(num_list[0:0])?

# 執(zhí)行結(jié)果如下:
# >>> []

列表的索引,獲取與修改

  • list.index(item) 列表通過 index() 函數(shù),傳入一個元素來獲取當前元素的索引值
  • list[index] = new_item ; list[index]為變量對應的索引的值; new_item 為一個新的元素
  • 數(shù)據(jù)修改的范圍只能是已存在的索引范圍內(nèi)
  • 列表無法通過添加新的索引的方式賦值

示例如下:

test_str = ['a', 'b', 'c', 'd']
print(test_str.index('c'))

# 執(zhí)行結(jié)果如下:
# >>> 2?? ??? ??? ?'c' 的索引位置是 2


test_str = ['a', 'b', 'c', 'd']
print(test_str.index('e'))

# 執(zhí)行結(jié)果如下:
# >>> ValueError: 'e' is not in list
test_str = ['a', 'b', 'c', 'd']
test_str[0]='z'
print(test_str)

# 執(zhí)行結(jié)果如下:
# >>> ['z', 'b', 'c', 'd']


test_str = ['a', 'b', 'c', 'd']
test_str[:]='h', 'j', 'k', 'l'
print(test_str)

# 執(zhí)行結(jié)果如下:
# >>> ['h', 'j', 'k', 'l']


test_str = ['a', 'b', 'c', 'd']
test_str[:]=['o', 'p', 'q', 'r']
print(test_str)

# 執(zhí)行結(jié)果如下:
# >>> ['o', 'p', 'q', 'r']
test_str = ['a', 'b', 'c', 'd']
test_str[5]='z'
print(test_str)

# 執(zhí)行結(jié)果如下:
# >>> IndexError: list assignment index out of range

通過 pop() 函數(shù)刪除索引

pop() 函數(shù)的功能:通過索引刪除并獲取列表的元素

pop() 函數(shù)的用法: list.pop(index) , index 為刪除列表的第幾個元素

  • 函數(shù)會刪除該索引的元素并返回
  • 如果傳入的 index 索引不存在,則會報錯

示例如下:

names = ['Neo', 'Jack', 'Adem', 'Lily']
pop_item = names.pop(1)
print('刪除的元素為:', pop_item, ', 被刪除后的\'names\'列表為:', names)

# 執(zhí)行結(jié)果如下:
# >>> 刪除的元素為: Jack , 被刪除后的'names'列表為: ['Neo', 'Adem', 'Lily']


names = ['Neo', 'Jack', 'Adem', 'Lily']
pop_item = names.pop(5)
print(names)

# 執(zhí)行結(jié)果如下:
# >>> IndexError: pop index out of range

通過 del 刪除索引

del 函數(shù)的功能:通過索引刪除并獲取列表的元素

del 函數(shù)的用法: del list(index) , index 為刪除列表的第幾個元素

  • 直接刪除,無返回值
  • 如果傳入的 index 索引不存在,則會報錯

示例如下:

names = ['Neo', 'Jack', 'Adem', 'Lily']
del names[0]
print(names)

# 執(zhí)行結(jié)果如下:
# >>> ['Jack', 'Adem', 'Lily']


names = ['Neo', 'Jack', 'Adem', 'Lily']
del names[0]
print(names)

# 執(zhí)行結(jié)果如下:
# >>> IndexError: list assignment index out of range

索引在元組中的特殊性

  • 可以和列表 一樣獲取索引與切片索引
  • 元組函數(shù) index 和列表的用法完全一致
  • 無法通過索引修改、刪除元素(因為元組是不可修改的)

到此這篇關于Python列表的索引與切片的文章就介紹到這了,更多相關Python 索引與切片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談Python幾種常見的歸一化方法

    淺談Python幾種常見的歸一化方法

    這篇文章主要介紹了幾種常見的歸一化方法,數(shù)據(jù)歸一化是深度學習數(shù)據(jù)預處理中非常關鍵的步驟,可以起到統(tǒng)一量綱,防止小數(shù)據(jù)被吞噬的作用,需要的朋友可以參考下
    2023-04-04
  • PyQt5每天必學之關閉窗口

    PyQt5每天必學之關閉窗口

    這篇文章主要為大家詳細介紹了PyQt5每天必學之關閉窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python set集合使用方法解析

    python set集合使用方法解析

    這篇文章主要介紹了python set集合使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • python從Oracle讀取數(shù)據(jù)生成圖表

    python從Oracle讀取數(shù)據(jù)生成圖表

    這篇文章主要介紹了python如何從Oracle讀取數(shù)據(jù)生成圖表,幫助大家更好的利用python處理數(shù)據(jù),感興趣的朋友可以了解下
    2020-10-10
  • 實例分析python3實現(xiàn)并發(fā)訪問水平切分表

    實例分析python3實現(xiàn)并發(fā)訪問水平切分表

    在本文中小編給大家整理了關于python3實現(xiàn)并發(fā)訪問水平切分表的相關知識點以及實例代碼,有興趣的朋友們參考下。
    2018-09-09
  • django獲取from表單multiple-select的value和id的方法

    django獲取from表單multiple-select的value和id的方法

    今天小編就為大家分享一篇django獲取from表單multiple-select的value和id的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python編程使用*解包和itertools.product()求笛卡爾積的方法

    Python編程使用*解包和itertools.product()求笛卡爾積的方法

    這篇文章主要介紹了Python編程使用*解包和itertools.product()求笛卡爾積的方法,涉及Python列表轉(zhuǎn)換及itertools.product()求笛卡爾積相關操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python并查集Disjoint?Set的具體使用

    Python并查集Disjoint?Set的具體使用

    本文主要介紹了Python并查集Disjoint?Set的具體使用,包括并查集的基本概念、實現(xiàn)方式、路徑壓縮和應用場景,并使用代碼示例演示并查集的操作,感興趣的可以了解一下
    2024-01-01
  • python3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)

    python3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)

    下面小編就為大家?guī)硪黄猵ython3實現(xiàn)TCP協(xié)議的簡單服務器和客戶端案例(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python爬蟲谷歌Chrome F12抓包過程原理解析

    Python爬蟲谷歌Chrome F12抓包過程原理解析

    這篇文章主要介紹了Python爬蟲谷歌Chrome F12抓包過程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論