日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

三、Python-列表

發布時間:2023/12/6 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三、Python-列表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
三、Python-列表 一、序列:是一塊用于存放多個值的連續內存空間,并且按一定順序排列,可以通過索引取值
  • 索引:從左到右的索引從0開始依次增加的正整數;從右到左的索引為-1開始的復數
  • 切片(分片):一中獲取序列中的元素的方法;
sname[start:end:step]--sname:序列名;start:起始值;end:結束值(不包括);step:步長
  • 序列相加:兩個序列可以相加(只能同類型序列:列表+列表,元組+元組,字符串+字符串),被加的序列排在原來的序列后面
  • 乘法:序列的乘法實際上就是把一個序列中的元素復制幾次
  • 檢查某個元素是否是序列的成員:print("姚明" (not) in nba)---判斷姚明(不)在nba列表中
len也能計算字符串的長度
  • 計算序列的長度:print("列表的長度為:"len(nba))---計算nba序列的長度
  • 最大值:print(max(number))---返回序列中的最大值(只能用在序列中為數字型時)
  • 最小值:prin(min(number))---返回序列中的最小值(只能用在序列中為數字型時)
list():把序列轉換為列表(數字和字符串都能轉換)       str():序列轉換為字符串 sum():計算序列中元素和                 sorted():給序列中元素排序 reversed():反轉序列中元素              ??? enumerate():把序列組合為一個索引序列 二、列表:列表中可以放:整數,實數,布爾值,字符串,序列,對象
  • 列表的創建和刪除:一般不把不通類型的數據放在同一個列表中(提高可讀性)
    • 賦值運算符直接創建:listname = [元素1,元素2,…]---用英文狀態的“,”隔開,元素數量無限制
    • 創建空列表:a = []---創建一個名為a的空列表
    • 創建數字列表:list(range(2,21,2))---2—21之間的偶數(數據全部都為數字)
    • del listname------刪除列表(很少用)
  • 訪問列表元素:獲取列表中的內容
    • print() 索引 切片
  • 遍歷列表:把列表中的元素全部預覽一遍
    • for循環實現:只能輸出元素與的值
      • for iten in listname: ---item用于保存獲取到的元素,listname為列表名
    • for循環和enumerate:即顯示索引又顯示元素
      • for index,item in enumerate(listname): ---index用于保存索引,item用戶保存獲元素的值
  • 添加元素:+運算符添加(效率低)
    • append:在元素列表末尾添加元素
      • listname.append(obj) ---listname為被添加的列表名;obj為要添加的對象
    • inert:用于在列表中間插入一個對象
      • listname.inert(num,obj) ---num為要插入的位置的索引號;obj為要插入的對象
    • extend:用于把一個列表添加到另一個列表的末尾
      • listname.extend(seq) ---listname為原列表名,seq為被添加的列表
  • 修改元素:只需要通過索引獲取該元素,然后再為其重新賦值
    • verser[2]="…" ---verser為列表名,2為要修改的元素的索引號
  • 刪除列表元素:
    • 根據索引號刪除:必須知道要刪除的元素的索引號(索引號可為正數或負數)
      • del verser[-1] ---刪除verser列表中索引為-1的元素
    • 根據元素值來刪除:不確定其位置的元素(根據元素值來刪除,最好先判斷該元素是否在列表)
      • if verser.count(value)>0 ---判斷value元素是否在列表verser中
        • verser.remove(value) ---刪除verser列表中的value值
  • 對列表進行統計計算:
    • count:獲取指定元素在列表中出現的次數(精確匹配,不能只是元素的一部分)
      • listname.count(obj) ---統計元素obj在列表listname中出現的次數
    • index:獲取指定元素在列表中首次出現的位置(索引)(被統計的元素只能精確匹配)
      • listname.index(obj) ---統計obj在列表中首次出現的位置
    • sum:統計數字列表的元素和
      • sum(iterable,start) ---iterable為要計算的列表名,start為系統統計結果要加的值(默認為0)
  • 對列表進行排序:
    • sort:對元素排序,排序后原列表中的元素順序將發生改變
      • listname.sort(key=None,reverse=False) ---key表示指定一個從每個元素中提取的一個比較鍵(key=str.lower表示在排序時不區分大小寫);reverse為True表示降序,False為升序,默認為升
    • sorted:排序后,源列表的元素順序不變
      • sorted(itemble,key=None,reverse=False) ---itemble表示要排序的列表名稱
三、列表推導式:可以快速生成一個列表,或者根據某個列表生成滿足指定需求的列表 生成指定范圍的數字列表:list = [Expression for var range]     list = [i*i for i in range(2,11,2)] ---生成0-10的偶數的平方 list:生成列表的名稱;         expression:表達式,計算型列表的元素 var:循環變量             range:采用range()函數生成range對象 根據列表生成指定需求的列表:newlist = [expression for var in list] price = [1200,5300,2988,6200,1998,8888] sale = [int(x*0.5) for x in price] print('原價格:',price) print('五折價格:',sale) newlist:表示新生成的列表名; list:用于生成新列表的源列表名 從列表中選擇符合條件的元素組成型列表:newlist = [expression for var in list if condition] price = [1200,5330,2988,6200,1998,8888] sele = [z for z in price if z >5000] print('原列表:',price) print("高于5000的:",sale) condition:條件表達式,用于指定篩選的條件 四、二維列表的使用:二維列表就是包含列表的列表,一個列表的每個元素都是一個列表 直接定義二維列表:listname=[元素1,元素2…],[元素11,元素12…],[元素21,元素22…],…] 使用嵌套的for循環創建:       room = [] for i in range(1,5): #樓層 room.append([]) #添加一個空列表 for j in range(1,8): #每一層的房間數 room[i-1].append(i*1000+100+j) print(room) 使用列表推導式創建:(能使用推導式盡量使用推導式) eg:room=[[i*1000+100+j for j in range(1,8)] for i in range(1,5)] print(room) eg:?   str1 = "千山鳥飛絕" str2 = "萬徑人蹤滅" str3 = "孤舟蓑笠翁" str4 = "獨釣寒江雪" list1 = [list(str1),list(str2),list(str3),list(str4)] print("--橫版輸出--") print() for i in range(4): #循環的行數 for j in range(5): #循環每一行的字 if j == 4: #一行中的最后的一個字 print(list1[i][j]) #換行輸出 else: print(list1[i][j],end="") #不換行輸出 print() print() print("--豎版--") print() list1.reverse() #排序(逆序) for i in range(5): #循環每一行中的每一個 for j in range(4): #每一行 if j == 3: print(list1[j][i]) #換行輸出 else: print(list1[j][i],end='') ? posted on 2019-04-18 10:38 dameon 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/dameon/p/10728173.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的三、Python-列表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。