Python-數據類型-列表

數據類型-列表

列表是python中最常用的容器類型之一,由一對中括號包裹,括號里面可以存放多個元素,元素與元素之間用逗號分割, 元素與元素之間可以為不同數據類型

1.特點

  • 可變的數據類型: 列表中的元素是可變的,列表本質存放的只是元素的內存地址,改變元素就是改變內存地址的指向
  • 有序的序列: 存放在列表中的元素是有序的,第一個元素的索引位置為0,往后累加1
  • 列表也可以進行索引也切片操作

示例

data_list = ["Tom", 1, True, ["aa", "bb"]]

2. 索引 和 切片

data_list = ["Tom", 1, True, ['aa', 'bb']]

print(data_list[0])     # Tom
print(data_list[1])     # 1
print(data_list[::-1])  # [['aa', 'bb'], True, 1, 'Tom']
print(data_list[:-2])   # ['Tom', 1]
print(data_list[:20])   # ['Tom', 1, True, ['aa', 'bb']]

切片和索引的特點和字符串一樣,索引需注意越界問題

3 列表常見操作

3.1 增加

  • append(): 向列表最后一個位置追加元素
    語法
    列表序列.append(數據)
    示例
name_list = ['Tom', 'Lily', 'Rose']

name_list.append('wuchang')
# 結果:['Tom', 'Lily', 'Rose', 'wuchang']
name_list.append(["cross", "action"])
# 結果:['Tom', 'Lily', 'Rose', 'wuchang', ['cross', 'action']]

append()追加的數據是一個序列,則追加整個序列到列表

  • extend(): 追加數據至列表結尾,如果數據是一個序列,則將這個序列的每一個元素逐一添加到列表
    語法
    列表序列.extend(數據)
    示例
name_list = ['Tom', 'Lily', 'Rose']

name_list.extend('wuchang')
# 結果: ['Tom', 'Lily', 'Rose', 'w', 'u', 'c', 'h', 'a', 'n', 'g']

name_list.extend(["cross", "action"])
# 結果: ['Tom', 'Lily', 'Rose', 'w', 'u', 'c', 'h', 'a', 'n', 'g', 'cross', 'action']
  • insert(): 在列表指定位置插入元素
    語法
    列表序列.insert(下標位置,數據)
name_list = ['Tom', 'Lily', 'Rose']

name_list.insert(2, 'wu_chang')
# 結果:['Tom', 'Lily', 'wu_chang', 'Rose']

3.2 刪除

  • pop(): 根據下標刪除數據,并返回該數據,不傳下標默認為最后一個數據
    語法
    列表序列.pop(下標)
    示例
name_list = ['Tom', 'Lily', 'Rose']

name = name_list.pop(1)
print(name)
# 結果:  Lily
print(name_list)
# 結果:  ['Tom', 'Rose']

傳入下標時需注意下標越界,否則拋出異常IndexError

  • remove: 刪除列表中第一個匹配到的數據
    語法
    列表序列.remove(數據)
    示例
name_list = ['Tom', 'Lily', 'Rose']
name_list.remove("Tom")
# 結果:['Lily', 'Rose']

如果數據不存在,拋出異常ValueError

  • del: 刪除整個列表,或者根據列表下標刪除元素
    語法
    del 列表序列 或者 del列表序列[下標]
    示例
name_list = ['Tom', 'Lily', 'Rose']
del name_list[1]
# 結果:['Tom', 'Rose']
del name_list
print(name_list)
# NameError: name 'name_list' is not defined

del 目標 刪除過后,命名空間已經不存在該變量,所以會報錯NameError

  • clear(): 清空列表,列表還在,會變成一個空列表
    語法
    列表序列.clear()
name_list = ['Tom', 'Lily', 'Rose']
name_list.clear()
# 結果:[]

3.3 修改

  • 修改指定下標數據
    語法
    列表序列[下標]=數據
    示例
name_list = ['Tom', 'Lily', 'Rose']
name_list = 'wu_chang
# 結果:['Tom', 'wu_chang', 'Rose']
  • reverse(): 翻轉列表
    語法
    列表序列.reverse()
name_list = ['Tom', 'Lily', 'Rose']
name_list.reverse()
# ['Rose', 'Lily', 'Tom']

列表序列[::-1] 也可以達到同樣的效果

  • sort(): 排序
    語法
    列表序列.sort(key=None, reverse=False)

reverse表示排序規(guī)則,reverse=True 降序, reverse=False 升序(默認),key 表示根據什么排序,多用在字典排序

示例

data_list = [20, 2, 6, 4, 7, 6, 7, 9, 9, 10]
data_list.sort()
# 結果:[2, 4, 6, 6, 7, 7, 9, 9, 10, 20] 

會改變原列表的值

3.4 查詢 和 判斷

  • index(): 返回指定數據所在位置的下標,不存在列表中拋出異常
    語法*
    列表序列.index(數據,開始位置下標,結束位置下標)
    示例
name_list = ['Tom', 'Lily', 'Rose']

print(name_list.index('Tom')
# 結果:1
  • count(): 統(tǒng)計指定數據在當前列表中出出現的次數
name_list = ['Tom', 'Lily', 'Rose']

print(name_list.count('Tom'))
# 結果: 1
  • len():返回列表長度,可以根據這個函數知道列表中元素的個數
name_list = ['Tom', 'Lily', 'Rose']

print(len(name_list))
# 結果:3
  • in 與 not in: 判斷某個元素時候在某個序列中,返回布爾結果,存在返回True, 不存在返回False
name_list = ['Tom', 'Lily', 'Rose']

print('Lily' in name_list)
# 結果:True

print('Lilys' in name_list)
# 結果:False

print('Lily' not in name_list)
# 結果:False

print('Lilys' not in name_list)
# 結果:True
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 4、列表(List) 1)列表和元組都屬于序列,可以理解成一種“容器”,收納了多個數據。2)序列中包含了元素,元素...
    復蘇的兵馬俑閱讀 288評論 0 4
  • 1.什么是列表? 列表是Python中內置有序、可變序列,列表的所有元素放在一對中括號“[]”中,并使用逗號分隔開...
    alcohol和cat閱讀 482評論 2 2
  • 一 什么是列表 列表由一系列按特定順序排列的元素組成。元素可以是任何類型,比如字符串,數字,浮點等 ,其中的元素之...
    凌雲木閱讀 460評論 0 3
  • 列表: 前面已經用了很多次列表,可以看出列表的功能是比較強大的。本節(jié)將討論列表不同于元組和字符串的地方:列表的內容...
    瀧汰泱閱讀 1,349評論 0 1
  • 列表的基本特點 大小可變,內容可修改 是一種順序結構,可索引可迭代 可以由多種元素組合構成(字符串、整數、浮點數、...
    10點睡7點起閱讀 290評論 1 0

友情鏈接更多精彩內容