国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【30天python從零到一】---第七天:列表和元組

這篇具有很好參考價(jià)值的文章主要介紹了【30天python從零到一】---第七天:列表和元組。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?? 博客主頁:??@披星戴月的賈維斯
?? 歡迎關(guān)注:??點(diǎn)贊??收藏??留言
??系列專欄:?? Python專欄
??請不要相信勝利就像山坡上的蒲公英一樣唾手可得,但是請相信,世界上總有一些美好值得我們?nèi)σ愿?,哪怕粉身碎骨??
??一起加油,去追尋、去成為更好的自己!

【30天python從零到一】---第七天:列表和元組

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考


??1、列表

??1.1列表的定義

????列表是一種讓程序猿在代碼中批量表示/保存數(shù)據(jù)的方式。

編程中, 經(jīng)常需要使用變量, 來保存/表示數(shù)據(jù).
如果代碼中需要表示的數(shù)據(jù)個(gè)數(shù)比較少, 我們直接創(chuàng)建多個(gè)變量即可.
比如說:

a = 1
b = 2
c = 3

但是有的時(shí)候, 代碼中需要表示的數(shù)據(jù)特別多, 甚至也不知道要表示多少個(gè)數(shù)據(jù). 這個(gè)時(shí)候, 就需要用到列表.
比如說:

a = []; # []就代表是列表

注意:元組和列表的區(qū)別
元組和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改調(diào)整, 元組中放的元素是創(chuàng)建元組的時(shí)候就設(shè)定好的, 不能修改調(diào)整.

??1.2列表的創(chuàng)建

  • 創(chuàng)建列表主要有兩種方式. [ ] 表示一個(gè)空的列表.
lista = []
lista = list()
print(type(lista))
  • 如果需要往里面設(shè)置初始值, 可以直接寫在 [ ] 當(dāng)中。這一點(diǎn)的和數(shù)組的使用很像。我們也可以直接打印列表中的值。
lista = [9, 8, 7, 6, 5, 4]
print(lista)

輸出:

[9, 8, 7, 6, 5, 4]
  • 列表中存放的元素允許是不同的類型. (這一點(diǎn)和 C++ Java 差別較大).
lista = [9,'haha', 'hello', False]
print(lista)

輸出

[9, 'haha', 'hello', False]

??1.3列表通過下標(biāo)訪問
在列表中,我們可以通過列表的下標(biāo)去訪問對應(yīng)的元素,這一點(diǎn)和數(shù)組或者vector很像, 下標(biāo)也可以稱為索引,下標(biāo)從0開始。
代碼示例:

lista = [9,'haha', 'hello', False, 8, 7, 5, 4]
print(lista[2])

【30天python從零到一】---第七天:列表和元組

我們不僅能通過下標(biāo)去訪問列表對應(yīng)元素的位置,我們還可以修改對應(yīng)下標(biāo)的值。
代碼示例:

lista = [9,'haha', 'hello', False, 8, 7, 5, 4]
lista[2] = 'string'
print(lista)

輸出:

[9, 'haha', 'string', False, 8, 7, 5, 4]

注意:

  • 我們對列表操作時(shí),不能越界,不然會(huì)報(bào)錯(cuò)。
  • 因?yàn)橄聵?biāo)是從 0 開始的, 因此下標(biāo)的有效范圍是 [0, 列表長度 - 1]. 使用 len 函數(shù)可以獲取到列表的元素個(gè)數(shù).
  • 下標(biāo)可以取負(fù)數(shù). 表示 “倒數(shù)第幾個(gè)元素”
    【30天python從零到一】---第七天:列表和元組
    代碼示例:
lista = [9,'haha', 'hello', False, 8, 7, 5, 4]
lista[2] = 'string'
print(lista[2])
print(lista[-6])

代碼輸出:

string
string

解釋:因?yàn)閟tring是第二個(gè)位置,也是倒數(shù)第六個(gè)位置。

??2、列表的切片操作

??2.1什么是切片操作
通過下標(biāo)操作是一次取出里面第一個(gè)元素.
通過切片, 則是一次取出一組連續(xù)的元素, 相當(dāng)于得到一個(gè)子列表。

  • 使用 [ : ] 的方式進(jìn)行切片操作.
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9 ]
print(listb[2 : 5])

輸出:

[3, 4, 5]

解釋:因?yàn)槲覀儌鬟M(jìn)去的是一個(gè)左閉右開區(qū)間就是下標(biāo)從 [2 - 5)的區(qū)間內(nèi)的3個(gè)數(shù)。

  • 切片操作還可以指定 “步長” , 也就是 “每訪問一個(gè)元素后, 下標(biāo)自增幾步”
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9 ]
print(listb[::1])
print(listb[::2])
print(listb[::3])
print(listb[::5])

輸出:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
[1, 4, 7]
[1, 6]
  • 切片操作指定的步長還可以是負(fù)數(shù), 此時(shí)是從后往前進(jìn)行取元素. 表示 "每訪問一個(gè)元素之后, 下標(biāo)自減幾步。
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9 ]
print(listb[::1])
print(listb[::2])
print(listb[::3])
print(listb[::5])

輸出:

[9, 8, 7, 6, 5, 4, 3, 2, 1]
[9, 7, 5, 3, 1]
[9, 6, 3]
[9, 4]
  • 如果切片中填寫的數(shù)字越界了, 不會(huì)有負(fù)面效果. 只會(huì)盡可能的把滿足條件的元素輸出。
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9 ]
print(listb[50:100])

輸出:[]


??3、列表元素的遍歷

??3.1什么是切片操作
????“遍歷” 指的是把元素一個(gè)一個(gè)的取出來, 再分別進(jìn)行處理.

  1. for循環(huán)遍歷列表元素
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao' ]

for elem in listb:
    print(elem) 

輸出:

1
2
3
4
5
6
7
8
9
haha
nihao
  1. 也可以使用 for 按照范圍生成下標(biāo), 按下標(biāo)訪問
    代碼示例:
for i in range(0, len(listb)):
    print(listb[i])
  1. 還可以使用 while 循環(huán). 手動(dòng)控制下標(biāo)的變化
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao' ]

i = 0
while i < len(listb):
    print((listb[i]))
    i+=1

??4、列表的增刪查連

??4.1新增元素

  • 使用 append 方法, 向列表末尾插入一個(gè)元素(尾插).
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao' ]
listb.append('888@qq.com')
print(listb)

輸出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 'haha', 'nihao', '888@qq.com']
  • 使用 insert 方法, 向任意位置插入一個(gè)元素
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao' ]
listb.insert(2, '666');
print(listb)

輸出:

[1, 2, '666', 3, 4, 5, 6, 7, 8, 9, 'haha', 'nihao']

拓展:什么是 “方法” (method)
方法其實(shí)就是函數(shù). 只不過函數(shù)是獨(dú)立存在的, 而方法往往要依附于某個(gè) “對象”.
像上述代碼 alist.append , append 就是依附于 listb, 相當(dāng)于是 “針對 listb 這個(gè)列表, 進(jìn)行尾插操作”.

??4.2查找元素

  • 使用 in 操作符, 判定元素是否在列表中存在. 返回值是布爾類型
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao' ]
print(6 in listb)
print('haha' in listb)
print('lala' in listb)

輸出:

True
True
False
  • 使用 index 方法, 查找元素在列表中的下標(biāo). 返回值是一個(gè)整數(shù). 如果元素不存在, 則會(huì)拋出異常.
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao' ]
print(listb.index(2))
print(listb.index('haha'))
#print(listb.index('lala'))

輸出:

1
9

但是如果查詢一個(gè)列表中不存在的值,就會(huì)拋異常。
【30天python從零到一】---第七天:列表和元組
??4.3刪除元素

  • 使用 pop 方法刪除最末尾元素
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao']
listb.pop()
listb.pop()
print(listb)

輸出:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
  • pop 也能按照下標(biāo)來刪除元素
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao']
listb.pop(2)
listb.pop(4)
print(listb)

輸出:

[1, 2, 4, 5, 7, 8, 9, 'haha', 'nihao']
  • 使用 remove 方法, 按照值刪除元素.
    代碼示例:
listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao']
listb.remove(2)
listb.remove(1)
print(listb)

輸出:

[3, 4, 5, 6, 7, 8, 9, 'haha', 'nihao']

??4.4連接列表

  • 使用 + 能夠把兩個(gè)列表拼接在一起.

此處的 + 結(jié)果會(huì)生成一個(gè)新的列表. 而不會(huì)影響到舊列表的內(nèi)容.

代碼示例:

listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao']
lista = ['a', 'b','c','d', 'e']
print(lista + listb)

輸出:

['a', 'b', 'c', 'd', 'e', 1, 2, 3, 4, 5, 6, 7, 8, 9, 'haha', 'nihao']
  • 使用 extend 方法, 相當(dāng)于把一個(gè)列表拼接到另一個(gè)列表的后面.

a.extend(b) , 是把 b 中的內(nèi)容拼接到 a 的末尾. 不會(huì)修改 b, 但是會(huì)修改 a.

代碼示例:

listb = [1, 2, 3, 4, 5, 6, 7, 8, 9,'haha', 'nihao']
lista = ['a', 'b','c','d', 'e']
lista.extend(listb)
print(lista)
print(listb)

輸出:

['a', 'b', 'c', 'd', 'e', 1, 2, 3, 4, 5, 6, 7, 8, 9, 'haha', 'nihao']
[1, 2, 3, 4, 5, 6, 7, 8, 9, 'haha', 'nihao']

??5、元組

元組的功能和列表相比, 基本是一致的.
元組使用 ( ) 來表示.

tuplea = ()
tuplea = tuple()

元組不能修改里面的元素, 列表則可以修改里面的元素

因此, 像讀操作,比如訪問下標(biāo), 切片, 遍歷, in, index, + 等, 元組也是一樣支持的.
但是, 像寫操作, 比如修改元素, 新增元素, 刪除元素, extend 等, 元組則不能支持.
另外, 元組在 Python 中很多時(shí)候是默認(rèn)的集合類型. 例如, 當(dāng)一個(gè)函數(shù)返回多個(gè)值的時(shí)候.

代碼示例:

def func():
    return 1, 2

ans = func()
print(type(ans))

輸出:

<class 'tuple'>

既然已經(jīng)有了列表, 為啥還需要有元組?

元組相比于列表來說, 優(yōu)勢有兩方面:
你有一個(gè)列表, 現(xiàn)在需要調(diào)用一個(gè)函數(shù)進(jìn)行一些處理. 但是你有不是特別確認(rèn)這個(gè)函數(shù)是否會(huì)把你的列表數(shù)據(jù)弄亂. 那么這時(shí)候傳一個(gè)元組就安全很多.
字典是一個(gè)鍵值對結(jié)構(gòu). 要求字典的鍵必須是 “可hash對象” (字典本質(zhì)上也是一個(gè)hash表). 而一個(gè)可hash對象的前提就是不可變. 因此元組可以作為字典的鍵, 但是列表不行.


??總結(jié)

  • 列表和元組都是日常開發(fā)最常用到的類型. 最核心的操作就是根據(jù) [ ] 來按下標(biāo)操作.
  • 在需要表示一個(gè) “序列” 的場景下, 就可以考慮使用列表和元組.
  • 如果元素不需要改變, 則優(yōu)先考慮元組.
  • 如果元素需要改變, 則優(yōu)先考慮列表

本文總結(jié)了列表和元組的知識(shí),希望對大家能夠有所幫助,感謝支持!文章來源地址http://www.zghlxwxcb.cn/news/detail-418243.html

到了這里,關(guān)于【30天python從零到一】---第七天:列表和元組的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從零到一發(fā)布 NPM 包

    從零到一發(fā)布 NPM 包

    如果你負(fù)責(zé)前端的基礎(chǔ)能力建設(shè),發(fā)布各種功能/插件包猶如家常便飯,所以熟悉對 npm 包的發(fā)布與管理是非常有必要的,故此有了本篇總結(jié)文章。本篇文章一方面總結(jié),一方面向社區(qū)貢獻(xiàn)開箱即用的 npm 開發(fā)、編譯、發(fā)布、調(diào)試模板,希望幫助到有需要的同學(xué)。 辛苦整理良久

    2023年04月08日
    瀏覽(23)
  • AIGC - Stable Diffusion 搭建【從零到一】

    解決音頻內(nèi)容GPU運(yùn)算時(shí)遇到ffmpeg引起問題 write_py audio_spleeter.txt

    2024年02月09日
    瀏覽(41)
  • zookeeper單節(jié)點(diǎn)部署,手把手從零到一

    zookeeper單節(jié)點(diǎn)部署,手把手從零到一

    kafka戳這里:kafka單節(jié)點(diǎn)部署,手把手從零到一 事前準(zhǔn)備: 1、一臺(tái)Linux服務(wù)器或者是一臺(tái)虛擬機(jī) 2、準(zhǔn)備好JDK環(huán)境 3、安裝好wget(當(dāng)然也可以不用這個(gè),只是用于下載安裝包的一個(gè)工具,所以能下載好包就是沒問題的) 4、需要了解vim的一些基礎(chǔ)操作,不懂得可自行百度 1.1、

    2023年04月15日
    瀏覽(20)
  • 長安鏈---從零到一部署Chainmaker-2.0.0

    長安鏈---從零到一部署Chainmaker-2.0.0

    長安鏈部署 長安鏈·ChainMaker具備自主可控、靈活裝配、軟硬一體、開源開放的突出特點(diǎn),由北京微芯研究院、清華大學(xué)、北京航空航天大學(xué)、騰訊、百度和京東等知名高校、企業(yè)共同研發(fā)。取名“長安鏈”,喻意“長治久安、再創(chuàng)輝煌、鏈接世界”。 長安鏈作為區(qū)塊鏈開源

    2023年04月08日
    瀏覽(25)
  • 開發(fā)一個(gè)Android應(yīng)用:從零到一的實(shí)踐指南

    在這篇博文中,我們將逐步探討如何從頭開始構(gòu)建一個(gè)Android應(yīng)用。我們將從最基本的環(huán)境搭建開始,然后深入討論組件、布局和其他核心概念。在完成整個(gè)過程后,你將會(huì)掌握一個(gè)簡單但完整的Android應(yīng)用開發(fā)流程。讓我們開始吧! 準(zhǔn)備開發(fā)環(huán)境 創(chuàng)建項(xiàng)目 理解項(xiàng)目結(jié)構(gòu) 設(shè)計(jì)

    2024年02月08日
    瀏覽(57)
  • 如何制作流程圖?教你從零到一制作

    如何制作流程圖?教你從零到一制作

    如何 制作流程圖 ? 在當(dāng)今快節(jié)奏、信息化的社會(huì),流程圖已經(jīng)成為了一種非常重要的溝通工具。它能夠幫助我們清晰地表達(dá)復(fù)雜的過程、系統(tǒng)和思路。那么,如何從零開始制作流程圖呢?本文將為你提供一份詳細(xì)的指南。 一、明確目的和內(nèi)容 在開始制作流程圖之前,首先

    2024年01月24日
    瀏覽(96)
  • Vue+Electron打包桌面應(yīng)用(從零到一完整教程)

    切記,整個(gè)項(xiàng)目的json文件不能有注釋,及時(shí)沒報(bào)錯(cuò)也不行,否則運(yùn)行命令時(shí)還是有問題 參考此視頻 1- 1.創(chuàng)建項(xiàng)目 1- 2. 安裝依賴運(yùn)行項(xiàng)目 1- 3.配置Electron 1- 4.修改配置文件 1) vite.config.js 2)main.js(項(xiàng)目根目錄新增) 此為electron運(yùn)行的入口文件 3)preload.js(項(xiàng)目根目錄下新增) 4)package

    2024年02月07日
    瀏覽(35)
  • 入職從零到一:如何快速學(xué)習(xí)Git以適應(yīng)工作環(huán)境

    本文并非面向完全的 Git 初學(xué)者,也不會(huì)詳細(xì)介紹每一個(gè) Git 命令和它的所有選項(xiàng)。相反,本文的目標(biāo)讀者是那些已經(jīng)有一些基礎(chǔ),至少知道如何在本地倉庫進(jìn)行基本的版本控制操作,包括 git add , git commit 和 git log ,但是還沒有在企業(yè)環(huán)境中真正使用 Git 進(jìn)行過項(xiàng)目開發(fā)的開

    2024年02月11日
    瀏覽(39)
  • 從零到一的方法:學(xué)習(xí)視頻剪輯與嵌套合并技巧

    從零到一的方法:學(xué)習(xí)視頻剪輯與嵌套合并技巧

    隨著社交媒體和數(shù)字技術(shù)的快速發(fā)展,視頻制作已是常見的工作。那么如何批量嵌套合并視頻呢?下面一起來看云炫AI智剪如何批量合并的方法。 嵌套合并后的視頻截圖查看。 批量嵌套合并的操作: 操作1、在云炫AI智剪上選擇“嵌套合并”功能,切換相應(yīng)的版塊。 操作2、把

    2024年02月02日
    瀏覽(24)
  • 純編程從零到一創(chuàng)建圖書管理系統(tǒng)V1.0

    純編程從零到一創(chuàng)建圖書管理系統(tǒng)V1.0

    上一篇文章 答應(yīng)了道友們通過ChatGpt制作圖書管理系統(tǒng)程序,今天第一版LMS(Library Management System)他來了,完整版代碼放在在文末,有基礎(chǔ)的道友可以 點(diǎn)此跳轉(zhuǎn),在安裝中遇到問題,可以點(diǎn)擊此處查看解決方案 效果圖 功能列表 1、搜索圖書只顯示符合條件的圖書所在行 2、添加

    2024年01月17日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包