成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

捋一捋Python中的List(下)

instein / 2054人閱讀

摘要:以上函數(shù)默認會對一個數(shù)字組成的數(shù)組進行按數(shù)字面值大小排序下午雷學委列表的其他函數(shù)持續(xù)學習持續(xù)開發(fā)效果如下,讀者可以仔細看看是否如學委所說。

正式的Python專欄第27篇,同學站住,別錯過這個從0開始的文章!

上篇學委對照tuple文章的操作一一羅列了list列表數(shù)據(jù)的相應的操作。

這次我們繼續(xù)把list的其他操作看完。

list比tuple多了這些操作支持

前面學委提到tuple(元組)就是焊死了的一串串車廂,list支持元素編輯,明顯靈活多了。

我們先看看刪除操作,python中的list就支持了3中刪除元素的操作。

假設我們定義一個列表對象 list_obj, 那么我們可以執(zhí)行下面任意一個操作,進行元素刪除。

del list_obj[下標]list_obj.remove(某個元素值)list_obj.pop(下標) #返回元素值

好,我們看看下面完整代碼:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/31 10:36 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷學委# @XueWeiTag: CodingDemo# @File : list_demo4.py# @Project : hello# 刪除列表元素mylist = [1, 0, 2, 4, "雷學委"]print("mylist:", mylist)del mylist[0]print("after remove first element, mylist:", mylist)mylist.remove("雷學委")print("after remove first element, mylist:", mylist)removed_value = mylist.pop(1)  # 移除并返回的元素值print("after remove first element, mylist:", mylist)print("removed value:", removed_value)

效果如下:

特別需要注意的是:刪除元素不能超過list的下標范圍,否則報錯!

除了刪除,list怎么添加/擴充元素呢?

先不說修改的,list也支持定位查找元素,我們先看看。

list_obj.index(某個元素值) #通過某個元素值定位到第一個匹配的下標,從0位置開始找。

假設list_obj = [3, 2, 1] 那么list_obj.index(2) 則是什么?

答案是:1。

好,我們繼續(xù)說插入新元素。

# python中的list支持下面兩種方式追加元素list_obj.insert(指定下標, 元素)list_obj.append(元素) #末尾追元素

那么一次性追加多個,或者直接擴充某個列表到現(xiàn)有列表呢?

我們找到了extend函數(shù),使用list_obj.extend(補充列表) 就能把list_obj直接擴充了,效果是依次追加補充列表的元素到末尾。

說這么多操作,我們直接復制運行下面的代碼看看:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/31 10:36 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷學委# @XueWeiTag: CodingDemo# @File : list_demo5.py# @Project : hello# 列表的其他函數(shù)mylist = [6, 6, 6]print("mylist:", mylist)mylist.append("雷學委")print("mylist:", mylist)print("列表多少個6?:", mylist.count(6))print("第一個6的位置下標?:", mylist.index(6))mylist.insert(2, 1024)print("第一個1024的位置下標?:", mylist.index(1024))last = mylist.pop() #刪除操作前面說過了,這幾舉例一個。print("最后的元素是:",last)print("mylist:", mylist)# 直接追加新列表mylist.extend(mylist)  # 相當于mylist = mylist * 2print("mylist:", mylist)mylist.extend(["持續(xù)學習", "持續(xù)開發(fā)"])print("mylist:", mylist)

這是代碼運行效果:

非常簡便,我們繼續(xù)看看列表元素排序

list的排序

前面說的都是編輯操作,list也可以進行數(shù)據(jù)排列,也就是按照一定邏輯進行順序排列。

list提供了一個sort函數(shù)和reverse函數(shù)。

先說簡單的,reverse函數(shù)相當于把整個串串車廂直接調頭。也就是list:[1,2,3] 經(jīng)過reverse函數(shù)處理后,變成了[3,2,1]。

sort則更加彈性,默認安裝元素面值(比如數(shù)字,數(shù)字串),還支持傳入一個lambda函數(shù),指定排序邏輯。

以上函數(shù)默認會對一個數(shù)字組成的數(shù)組進行按數(shù)字面值大小排序

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/31 10:36 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷學委# @XueWeiTag: CodingDemo# @File : list_demo6.py# @Project : hello# 列表的其他函數(shù)mylist = [2, 3, 1]#mylist = ["2", "3", "1"]mylist.sort()print("mylist:", mylist)mylist.extend(["持續(xù)學習", "持續(xù)開發(fā)"])print("mylist:", mylist)mylist.sort(key=lambda e: len(str(e)), reverse=True)print("sorted mylist:", mylist)mylist.reverse()print("reversed mylist:", mylist)

效果如下,讀者可以仔細看看是否如學委所說。

特別注意:學委上面示例代碼也展示了,如果一個列表內元素不是同一類型(都是數(shù)字,都是字符串或者都是某個類型),開發(fā)者必須實現(xiàn)一個lambda函數(shù)給sort函數(shù)作為參考進行排序。

總結

list有很多功能,進行元素的操作(添加/刪除/定位)等非常方便。

而且還能輕易擴充,排序,逆序等,這讓list的使用非常廣泛,每個學習python的務必多敲代碼,掌握熟練。

對了,喜歡Python的朋友,請關注學委的 Python基礎專欄 or Python入門到精通大專欄

持續(xù)學習持續(xù)開發(fā),我是雷學委!
編程很有趣,關鍵是把技術搞透徹講明白。
歡迎關注微信,點贊支持收藏!

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/123378.html

相關文章

  • 一捋服務器端渲染和客戶端渲染的區(qū)別

    摘要:常聽到服務器端渲染和瀏覽器端渲染這兄弟倆,一直不是很理解,尤其對于我這種沒有后臺開發(fā)經(jīng)驗的小白來說,理解起來異常困難,最近花時間查了很多資料,總算弄明白了,于是整理下,加深記憶。 常聽到服務器端渲染和瀏覽器端渲染這兄弟倆,一直不是很理解,尤其對于我這種沒有后臺開發(fā)經(jīng)驗的小白來說,理解起來異常困難,最近花時間查了很多資料,總算弄明白了,于是整理下,加深記憶。這邊文章是參考下面的文章做的總...

    muzhuyu 評論0 收藏0
  • 一捋服務器端渲染和客戶端渲染的區(qū)別

    摘要:常聽到服務器端渲染和瀏覽器端渲染這兄弟倆,一直不是很理解,尤其對于我這種沒有后臺開發(fā)經(jīng)驗的小白來說,理解起來異常困難,最近花時間查了很多資料,總算弄明白了,于是整理下,加深記憶。 常聽到服務器端渲染和瀏覽器端渲染這兄弟倆,一直不是很理解,尤其對于我這種沒有后臺開發(fā)經(jīng)驗的小白來說,理解起來異常困難,最近花時間查了很多資料,總算弄明白了,于是整理下,加深記憶。這邊文章是參考下面的文章做的總...

    chunquedong 評論0 收藏0
  • 一捋這些年一起薅過的羊毛 – 包含永久免費vps、域名等

    摘要:特點,永久免費,數(shù)據(jù)中心多達個,之前好用的首爾和東京因為眾多的涌入導致線路擁堵不堪此外機型可自由分配個,內存,最大空間容量和的帶寬。是烏克蘭官方為個人提供的免費二級域名后綴,任何人都可以申請。由烏克蘭官方運行,穩(wěn)定性有保障。作為一個mjj,最喜歡做的事情就是薅羊毛,這篇文章就來整理一些特別優(yōu)質的,不容錯過的羊毛!算是薅羊毛的一個指南?。? 一:永久VPS篇 這里整理一些永久...

    mrli2016 評論0 收藏1
  • 一捋React的生命周期

    摘要:卸載階段組件卸載和銷毀老版生命周期之前的生命周期初始化階段涉及個鉤子函數(shù)這些方法會在組件初始化的時候被調用,只跟實例的創(chuàng)建有關。 前言:React 的版本從 v15 到 v16.3 ,再到v16.4,現(xiàn)在最新的版本是 v16.8了。其中最大的變化可能是React Hooks的加入,而最令人困惑的卻是它的生命周期,新舊生命周期函數(shù)混雜在一起,難免會讓許多新來者有很多困惑。所以這一篇我們來...

    MobService 評論0 收藏0
  • python 中type和object的關系

    摘要:這說明類已經(jīng)處于繼承鏈條的頂端,是所有類的父類。這就是說這一元類的父類是。我們來捋一捋,也就是說類是由元類創(chuàng)建的,但是類又繼承了類。元類的類則是由元類自身創(chuàng)建的。 學習python的同學都知道這么幾句話 object類是所有新式類的父類。 type是所有類的類。 那么type和object是什么關系呢?object是一個新式類,我們可以通過object.__class__和obje...

    Keven 評論0 收藏0

發(fā)表評論

0條評論

instein

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<