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

Python數(shù)據(jù)容器——列表(list)

這篇具有很好參考價值的文章主要介紹了Python數(shù)據(jù)容器——列表(list)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)容器入門

Python中的數(shù)據(jù)容器:
一種可以容納多份數(shù)據(jù)的數(shù)據(jù)類型,容納的每一份數(shù)據(jù)稱之為1個元素
每一個元素,可以是任意類型的數(shù)據(jù),如字符串、數(shù)字、布爾等。

數(shù)據(jù)容器根據(jù)特點的不同,如:是否支持重復(fù)元素,是否可以修改,是否有序,等
分為5類,分別是:
列表(list)、元組(tuple)、字符串(str)、集合(set)、字典(dict)

數(shù)據(jù)容器:

1、List(列表)入門

1、list(列表)就是C語言里的數(shù)組。
在C語言中,數(shù)組的元素必須是相同類型的數(shù)據(jù)。

如果需要在一個數(shù)組中存儲不同類型的數(shù)據(jù),可以考慮使用結(jié)構(gòu)體(Struct)或聯(lián)合體(Union)來實現(xiàn)。結(jié)構(gòu)體允許將不同類型的數(shù)據(jù)組合在一起,而聯(lián)合體則允許共享同一塊內(nèi)存空間存儲不同類型的數(shù)據(jù)。

但是Python不一樣:

字面量:[元素1,元素2,元素3]

定義變量:變量名稱 = [元素1,元素2,元素3]

定義空列表:

變量名稱 = [] ? ? 或 ? ? ?變量名稱 = list()

元素可以是不同類型。例如:

list1 = ['Hello', 111, True]

2、列表可以嵌套:

list2 = [['Hello', 111, True], ['world', 222, False]]

3、可以使用列表的下標索引從列表中取出元素

list1 = ['Hello', 111, True]
print(list1[0]) # 輸出Hello
print(List[-1]) # 反向索引,輸出 True,從-1開始,依次遞減  -1,-2……




list2 = [['Hello', 111, True], ['world', 222, False]]
print(list2[1])
print(list2[0][1])

"""
輸出結(jié)果:
['world', 222, False]
111
"""

4、列表的常用方法(操作)

插入元素、刪除元素、清空列表、修改元素、統(tǒng)計元素個數(shù) ? 等等功能,這些功能我們都稱之為:列表的方法

在Python中,如果將函數(shù)定義為class(類)的成員,那么函數(shù)會稱之為:方法

class Student:

    def add(self,x,y):
        return x+y

方法和函數(shù)功能一樣,有傳入?yún)?shù),有返回值,只是方法的使用格式不同,函數(shù)與方法之間只有這一點不同:
函數(shù)的使用:num add(1,2) ?# ?def num (x,y): ……
方法的使用:student = Student()?

? ? ? ? ? ? ? ? ? ? ? num = student.add(1,2)

列表內(nèi)部提供了很多方法:注意:方法只能是小括號()

方法 功能或注意點

查找:? 列表名.index(元素)

查找指定元素在列表的下標

如果找不到,報錯ValueError

修改:列表名[下標] = 值 是重新賦值,“列表名[下標] = 值”中的值會替換原來的值

插入:

列表名.insert(下標,元素)

是在指定的地方插入指定的元素,“列表名.index(下標,元素)”就是在該下標下插入該元素。
需要注意的是:

1、這里是insert,不是index。

2、插入后,后面的元素會后移,而不是被替換掉。

3、是小括號,不是中括號。

追加:

單個元素:

列表名.append(元素)

列表名.extend(其他數(shù)據(jù)容器)

append()是將指定元素追加到列表的尾部。

extend()是將其他數(shù)據(jù)容器的內(nèi)容取出,依次追加到列表尾部。

通過指定下標來刪除:

1、del ?列表名[下標]

2、列表名.pop(下標)

通過指定元素來刪除:

列表名.remove(元素)

通過指定元素來刪除時,是刪除某元素在列表中的第一個匹配項

刪除所有匹配項,見下面的示例代碼。

清空列表:

列表名.clear()

結(jié)果:[]

統(tǒng)計某元素在列表內(nèi)的數(shù)量:

列表名.count(元素)

不可以查詢到表中表的內(nèi)容。
統(tǒng)計列表長度
len(列表名)

例如:

# 查詢方法
list1 = ["Hello", "World", "!"]
index = list1.index("Hello")
print(index)
# 輸出結(jié)果:0 (這表明是正向的索引)

list2 = [["Hello", 111, True], ['world', 222, False]]
index = list2.index("Hello")
print(index)
# 輸出:ValueError: 'Hello' is not in list
'''
要查找的元素 "Hello" 是一個字符串,
而列表中的元素是嵌套列表。
在這種情況下,需要使用循環(huán)來遍歷列表
并檢查子列表中的元素。
否則會報錯。
修正后:↓
'''
for i in range(len(list2)):
    if "Hello" in list2[i]:
        index = i
        break
print(index)
# 輸出結(jié)果:0
# 修改元素值
list1 = ["Hello", "World", "!"]
list1[1] = "Python"  # 正向下標
list1[-1] = "~"   # 反向下標
print(list1)
# 輸出結(jié)果:['Hello', 'Python', '~']
# 插入元素值
list1 = ["Hello", "World", "!"]
list1.insert(1,"Python")
list1.insert(-1, "~")
print(list1)
# 輸出結(jié)果:['Hello', 'Python', 'World', '~', '!']
# 追加元素
list1 = ["Hello", "World", "!"]
list1.append("~")
print(list1)
# 輸出結(jié)果:['Hello', 'World', '!', '~']

list2 = [1, 2, 3]
list2.append([4, 5, 6])
# list2.append(7, 8) #這個會報錯,只能追加單個元素的方法
print(list2)
# 輸出結(jié)果:[1, 2, 3, [4, 5, 6]]

list2.extend(list1)  # 追加其他數(shù)據(jù)容器
print(list2)
# 輸出結(jié)果:[1, 2, 3, [4, 5, 6], 'Hello', 'World', '!', '~']
# 通過指定下標來刪除元素
list1 = ["Hello", "World", "!"]
list2 = [1, 2, 3]

del list1[0]
element = list2.pop(0)  # 用element來接受刪點的元素

print(list1)  # 輸出結(jié)果:['World', '!']
print(list2)  # 輸出結(jié)果:[2, 3]
print(element)  # 輸出結(jié)果:1

# 通過指定元素來刪除
list3 = [1, 1, 2, 3]
list3.remove(1)
print(list3)  # 輸出結(jié)果:[1, 2, 3]
# 清空列表
list3 = [1, 1, 2, 3]
list3.clear()
print(list3)  # 輸出結(jié)果:[]
# 統(tǒng)計元素1的個數(shù)
list3 = [1, 1, 2, 3]
count = list3.count(1)
print(count)  # 輸出結(jié)果:2
# 統(tǒng)計列表長度
print(len(list3))  # 輸出結(jié)果:4
# 綜合訓(xùn)練
list5 =[21, 25, 21, 23, 22, 20]

list5.append(31)  # 追加一個數(shù)字31到列表的尾部
list5.extend([29, 33, 30])  # 追加一個新列表[29,33,30]到列表的尾部
num1 = list5[0]  # 取出第一個元素(應(yīng)是:21)
num2 = list5[-1]  # 取出最后一個元素(應(yīng)是:30)
index = list5.index(31)  # 查找元素31所在的位置

print(f"追加一個數(shù)字31到列表的尾部后的list5是:{list5}")
print(f"追加一個新列表[29,33,30]到列表的尾部后list5是:{list5}")
print(f"取出的第一個元素是: {num1}")
print(f"取出最后一個元素是: {num2}")
print(f"元素31所在的位置是: {index}")

"""
輸出結(jié)果:
追加一個數(shù)字31到列表的尾部后的list5是:[21, 25, 21, 23, 22, 20, 31, 29, 
33, 30]
追加一個新列表[29,33,30]到列表的尾部后list5是:[21, 25, 21, 23, 22, 20,
 31, 29, 33, 30]
取出的第一個元素是: 21
取出最后一個元素是: 30
元素31所在的位置是: 6
"""

刪除列表中所有與指定元素相等的元素:
1、可以使用循環(huán)和條件語句來遍歷列表并刪除元素。一種常見的方法是使用列表推導(dǎo)式。
下面是一個例子:

my_list = [1, 2, 3, 2, 4, 2, 5]
element_to_remove = 2  # 刪除列表中所有的2

my_list = [x for x in my_list if x != element_to_remove]

print(my_list)

上面的代碼中,我們有一個列表`my_list`,其中包含一些整數(shù)。我們想要刪除所有與指定元素`element_to_remove`相等的元素。使用列表推導(dǎo)式,我們創(chuàng)建了一個新列表,其中包含所有不等于`element_to_remove`的元素。通過重新賦值給`my_list`,我們將原來列表中的所有匹配元素都刪除了。最后,我們打印輸出列表的結(jié)果,可以看到所有與指定元素相等的元素已經(jīng)被刪除了。

2、如果要修改原列表而不是創(chuàng)建一個新列表,可以使用`while`循環(huán)來遍歷列表,使用`remove()`方法刪除匹配元素,直到列表中不再存在這個元素。例如:

my_list = [1, 2, 3, 2, 4, 2, 5]
element_to_remove = 2

while element_to_remove in my_list:
? ? my_list.remove(element_to_remove)

print(my_list)

在這個例子中,我們通過不斷地調(diào)用`remove()`方法來刪除匹配元素,直到列表中不再存在與指定元素相等的元素。最終,我們打印輸出列表的結(jié)果,可以看到匹配元素已經(jīng)全部被刪除了。

2、1ist(列表)的遍歷

列表的遍歷有兩種:使用while循環(huán),遍歷列表的元素和使用for循環(huán),遍歷列表的元素。

while循環(huán):

index = 0

while index < len(列表名):

? ? ? ? 元素 = 列表名[index]

? ? ? ? 其他處理……

? ? ? ? index += 1 ?#最關(guān)鍵的一步,千萬別忘記。

除了while:循環(huán)外,Python中還有另外一種循環(huán)形式:for循環(huán)。
對比while,for循環(huán)更加適合對列表等數(shù)據(jù)容器進行遍歷。

for 臨時變量 in 數(shù)據(jù)容器:

? ? ? ? 對臨時變量進行處理

for循環(huán)中,會把取出的變量賦值給臨時變量

# 通過while來完成列表的遍歷
list3 = [1, 1, 2, 3]
print("列表的元素值是:", end=" ")

index = 0  # 從0下標開始遍歷
while index < len(list3):
    element = list3[index]  # 取出index下標對應(yīng)的元素
    print(element, end=" ")
    index += 1  # 千萬別忘了這一點,循環(huán)的關(guān)鍵;python里不支持index++
#  輸出結(jié)果:列表的元素值是: 1 1 2 3
print()

# 通過for來完成列表的遍歷
for element in list3:
    print(f"列表的元素有:{element}")

"""
輸出結(jié)果:
列表的元素有:1
列表的元素有:1
列表的元素有:2
列表的元素有:3
"""

兩者之間比較:
while循環(huán)和for循環(huán),都是循環(huán)語句,但細節(jié)不同:
·在循環(huán)控制上:
while循環(huán)可以自定循環(huán)條件,并自行控制
for循環(huán)不可以自定循環(huán)條件,只可以一個個從容器內(nèi)取出數(shù)據(jù)


·在無限循環(huán)上:
while循環(huán)可以通過條件控制做到無限循環(huán)
for循環(huán)理論上不可以,因為被遍歷的容器容量不是無限的

在使用場景上:
while循環(huán)適用于任何想要循環(huán)的場景
for循環(huán)適用于逾歷數(shù)據(jù)容器的場景或簡單的固定次數(shù)循環(huán)場景???????

3、函數(shù)與方法?

在Python中,方法(method)與函數(shù)(function)是類似但又有一些區(qū)別的概念。函數(shù)是一段封裝了一組操作的可重復(fù)使用的代碼塊。它可以接受零個或多個參數(shù),并且可以返回一個結(jié)果。函數(shù)可以通過`def`關(guān)鍵字來定義,并且可以在需要時被調(diào)用。例如:

def greet(name):
? ? print("Hello, " + name + "!")
? ??
greet("Alice")

在這個例子中,`greet`函數(shù)接受一個參數(shù)`name`,并打印出問候語。調(diào)用`greet("Alice")`會輸出`Hello, Alice!`。

方法是一個對象的行為,通常與特定的對象關(guān)聯(lián)。對象可以是Python中的內(nèi)置類型(如字符串、列表等)或用戶定義的類的實例。方法可以通過對象的名稱和`.`運算符來調(diào)用。例如:

s = "hello"
print(s.upper())

在這個例子中,字符串對象`s`具有一個名為`upper`的方法。`upper`方法將字符串中的所有字母轉(zhuǎn)換為大寫,并返回轉(zhuǎn)換后的結(jié)果。調(diào)用`s.upper()`會輸出`HELLO`。

方法與函數(shù)的主要區(qū)別在于:方法必須通過某個對象進行調(diào)用,而函數(shù)則可以直接調(diào)用。方法與對象之間是綁定的,它們可以訪問并操作對象的屬性和狀態(tài)。而函數(shù)則是獨立存在的,它們沒有綁定到特定的對象。此外,方法的定義通常是在類中,而函數(shù)的定義可以是全局的。

4、列表推導(dǎo)式(list comprehension)

列表推導(dǎo)式是Python中一種簡潔的語法,用于生成新的列表。它提供了一種方便的方式來根據(jù)現(xiàn)有列表或其他可迭代對象的元素,通過應(yīng)用條件或操作來創(chuàng)建新的列表。

列表推導(dǎo)式的一般語法如下:

new_list = [expression for item in iterable if condition]

其中,`expression`是一個表達式,定義了新列表中每個元素的計算方式;`item`是迭代過程中的臨時變量,可以使用任意名稱;`iterable`是一個可迭代對象,如列表、元組或其他可迭代的數(shù)據(jù)結(jié)構(gòu);`condition`是一個可選的條件,用于過濾元素。

通過列表推導(dǎo)式,我們可以對現(xiàn)有的列表進行篩選、轉(zhuǎn)換或組合,從而一行代碼就生成一個新的列表。這種簡潔的語法特性在處理列表數(shù)據(jù)時非常有用,可以使代碼更簡潔、易讀和高效。以下是幾個示例:

# 生成一個由1到5的平方組成的新列表
squares = [x**2 for x in range(1, 6)] ?# [1, 4, 9, 16, 25]
# 篩選出列表中大于10的元素
numbers = [1, 5, 12, 9, 8, 15]
filtered_numbers = [x for x in numbers if x > 10] ?# [12, 15]
# 將列表中的字符串元素轉(zhuǎn)換為大寫形式
words = ["hello", "world", "python"]
uppercase_words = [word.upper() for word in words] ?
# ["HELLO", "WORLD", "PYTHON"]

請注意,雖然列表推導(dǎo)式在簡單情況下使用非常方便,但在處理大型和復(fù)雜的數(shù)據(jù)集時,可能需要考慮使用其他更加靈活和可讀性更好的方法。

這種方式相對簡潔,但需要注意的是,它創(chuàng)建了一個新的列表,而不是修改原來的列表。如果要在原地修改列表,可以使用循環(huán)和條件語句的方式來遍歷列表并刪除元素。???????文章來源地址http://www.zghlxwxcb.cn/news/detail-643785.html

到了這里,關(guān)于Python數(shù)據(jù)容器——列表(list)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Python數(shù)據(jù)容器——列表、元組、字符串、集合、字典

    Python數(shù)據(jù)容器——列表、元組、字符串、集合、字典

    作者: Insist-- 個人主頁: insist--個人主頁 本文專欄:Python專欄 專欄介紹: 本專欄為 免費 專欄,并且會持續(xù)更新python基礎(chǔ)知識,歡迎各位訂閱關(guān)注。 目錄 一、了解數(shù)據(jù)容器 1. 為什么需要數(shù)據(jù)容器? 2. 數(shù)據(jù)容器是什么? 二、數(shù)據(jù)容器—列表(list) 1. 列表的定義 2. 列表的

    2024年02月08日
    瀏覽(38)
  • 【Python】一篇帶你掌握數(shù)據(jù)容器之列表

    【Python】一篇帶你掌握數(shù)據(jù)容器之列表

    目錄 前言: 一、列表 1.列表的定義 2.列表的下標索引 3.列表的常用操作 (1)index方法:查找某元素的下標 (2)修改特定位置下標的元素 (3)insert(下標,元素)方法:插入元素 (4)append(元素)方法:追加元素1 (5)extend(其他數(shù)據(jù)容器)方法:追加元素2 (6)del(列表

    2024年02月05日
    瀏覽(22)
  • 探索Python數(shù)據(jù)容器之樂趣:列表與元組的奇妙旅程!

    探索Python數(shù)據(jù)容器之樂趣:列表與元組的奇妙旅程!

    Python中的數(shù)據(jù)容器: 一種可以容納多份數(shù)據(jù)的數(shù)據(jù)類型 ,容納的每一份數(shù)據(jù)稱之為1個元素 每一個元素,可以是任意類型的數(shù)據(jù),如字符串、數(shù)字、布爾等。 數(shù)據(jù)容器根據(jù)特點的不同,如:是否支持重復(fù)元素、是否可以修改、是否有序,等分為5類,分別是: 列表(list)、

    2024年02月14日
    瀏覽(31)
  • python的列表list

    一.添加? 二.insert添加 三.extend添加 ?四.刪除remove 五.pop()刪除 六.pop(索引)? 七.del 刪除 八.clear清除內(nèi)容 ?

    2024年02月05日
    瀏覽(23)
  • 4、python列表Lists

    列表和你可以用它們做的事情。包括索引,切片和變異! Python 中的 List 表示有序的值序列: In [1]: 我們可以把其他類型的事情列入清單: In [2]: 我們甚至可以列一個清單: In [3]: 列表可以包含不同類型的變量: In [4]: 可以使用方括號訪問單個列表元素。 哪個行星離太陽最近? Pyt

    2024年01月17日
    瀏覽(19)
  • Python 列表(List)

    目錄 訪問列表中的值 實例(Python 2.0+) 更新列表 實例(Python 2.0+) 刪除列表元素

    2024年02月17日
    瀏覽(17)
  • 【Python】列表list

    目錄 2.1 列表list 1)切片、索引 2)append、extend、insert 3)index、count 4)len、sum、max、min 5)sort、reverse 6)加法(合并)和乘法(重復(fù)) 7)列表解析式 索引 列表是一種有序的數(shù)據(jù)結(jié)構(gòu),可以存儲任意類型的元素。列表中的元素可以通過索引進行訪問,索引從 0 開始,表示列表

    2024年02月08日
    瀏覽(48)
  • R語言學(xué)習(xí)筆記--列表list、數(shù)據(jù)框

    1-列表 列表 可以包含不同類型的 對象 ,也就是說,列表不是將某些具體的值組織起來,而是組織R對象。列表將數(shù)據(jù)組織在一個一維集合中。 列表非常好用,因為它可以裝任何類型的對象,不要求數(shù)據(jù)之間是同質(zhì)的。 創(chuàng)建列表 list() ?以上代碼,創(chuàng)建了一個列表,其中第一個

    2024年02月15日
    瀏覽(89)
  • Python-- list(列表)的使用

    Python-- list(列表)的使用

    目錄 1.合并兩個有序序列構(gòu)成一個有序列表 2.編寫程序判斷列表是否為升序 3.輸入一個十進制轉(zhuǎn)換為二進制輸出 4.將列表中的前p個元素到尾列表 代碼如下: 補充: evel()方法:全局函數(shù),用來執(zhí)行一個字符串表達式,并返回表達式的值 extend()方法:用于在列表末尾一次性追加

    2024年02月06日
    瀏覽(16)
  • Python——列表(list)推導(dǎo)式

    Python——列表(list)推導(dǎo)式

    本文基于python3。 你可以理解成一種數(shù)據(jù)的處理方式。目的是為了構(gòu)建一個新的數(shù)據(jù)序列。 Python 支持各種數(shù)據(jù)結(jié)構(gòu)的推導(dǎo)式: 列表(list)推導(dǎo)式 字典(dict)推導(dǎo)式 集合(set)推導(dǎo)式 元組(tuple)推導(dǎo)式 各自從字面意思就知道,創(chuàng)建一個列表、字典、集合、元組。 我們本文只看列表

    2024年02月11日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包