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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

三、Python-列表

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

轉(zhuǎn)載于:https://www.cnblogs.com/dameon/p/10728173.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。