91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python列表的索引與切片怎么實現

發布時間:2022-04-07 10:50:52 來源:億速云 閱讀:236 作者:iii 欄目:開發技術

今天小編給大家分享一下Python列表的索引與切片怎么實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

什么是索引?

  • 哪些數據類型里有索引的概念? —> 字符串、列表、元組

  • 從最左邊記錄的位置開始就是索引

  • 索引用數字表示,起始位是從 0 開始

  • 字符串、列表、元組的最大索引是他們的長度 - 1

示例如下:

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

什么是切片?

  • 索引用來對單個成員(元素)進行訪問,切片則是對一定范圍內的成員(元素)進行訪問

  • 切片通過冒號的方式在中括號內把相隔的兩個索引位置范圍內的成員(元素)找出來,如 [0:10]

  • 切片的規則:左含,右不含; 左邊包含,右邊不包含

  • 通過切片方式獲取的完整的列表已經不再是原來的列表了,即使獲取的是原來列表的完整的內容

示例如下:

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

執行結果如下:

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

獲取列表的完整內容如下:

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

執行結果如下:

>>> names 列表完整的內容是: ['Neo', 'Jack', 'Adem']
 >>> names 列表完整的內容是: ['Neo', 'Jack', 'Adem']

通過切片方式獲取的完整的列表已經不再是原來的列表了,即使獲取的是原來列表的完整的內容,

示例如下:

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

# 執行結果如下:
# >>> 'names' 列表的內存地址為: 140522949689152
# >>> 索引獲取的完整'names' 列表的內存地址為: 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])      # 列表的步長獲取:【每隔2步長(也可以理解為每兩個數值)獲取索引0到8的元素】

# 執行結果如下:
# >>> [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]) 

# 執行結果如下:
# >>> []

列表的索引,獲取與修改

  • list.index(item) 列表通過 index() 函數,傳入一個元素來獲取當前元素的索引值

  • list[index] = new_item ; list[index]為變量對應的索引的值; new_item 為一個新的元素

  • 數據修改的范圍只能是已存在的索引范圍內

  • 列表無法通過添加新的索引的方式賦值

示例如下:

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

# 執行結果如下:
# >>> 2            'c' 的索引位置是 2


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

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

# 執行結果如下:
# >>> ['z', 'b', 'c', 'd']


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

# 執行結果如下:
# >>> ['h', 'j', 'k', 'l']


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

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

# 執行結果如下:
# >>> IndexError: list assignment index out of range

通過 pop() 函數刪除索引

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

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

  • 函數會刪除該索引的元素并返回

  • 如果傳入的 index 索引不存在,則會報錯

示例如下:

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

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


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

# 執行結果如下:
# >>> IndexError: pop index out of range

通過 del 刪除索引

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

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

  • 直接刪除,無返回值

  • 如果傳入的 index 索引不存在,則會報錯

示例如下:

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

# 執行結果如下:
# >>> ['Jack', 'Adem', 'Lily']


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

# 執行結果如下:
# >>> IndexError: list assignment index out of range

索引在元組中的特殊性

  • 可以和列表 一樣獲取索引與切片索引

  • 元組函數 index 和列表的用法完全一致

  • 無法通過索引修改、刪除元素(因為元組是不可修改的)

以上就是“Python列表的索引與切片怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泾源县| 水城县| 彰化县| 贵溪市| 桂阳县| 霍林郭勒市| 台州市| 阿克陶县| 洪江市| 长子县| 贵州省| 南和县| 乐至县| 台南县| 清河县| 峡江县| 云浮市| 黑水县| 贵定县| 安仁县| 资兴市| 滨州市| 阳谷县| 浦江县| 北辰区| 阜城县| 盐源县| 泰州市| 灵武市| 花垣县| 长海县| 瓮安县| 建瓯市| 隆子县| 西乌珠穆沁旗| 长丰县| 乌鲁木齐市| 万州区| 阿巴嘎旗| 福泉市| 陇川县|