列表

一、什么是列表

列表是一系列按特定順序排列的元素組成。你可以創(chuàng)建包含字母表中所有字母、數(shù)字0~9的列表,其中的元素之間沒(méi)有任何關(guān)系。

在python中,用方括號(hào)( [ ] )來(lái)表示列表,并用逗號(hào)來(lái)分隔其中的元素。

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
print(bicycles)      //打印列表
print(bicycles[0])   //訪問(wèn)列表中的元素
print(bicycles[-1])  //列表中的最后一個(gè)元素為索引-1

二、修改、添加和刪除元素

1. 修改元素

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
bicycles[0] = "honda"    //修改元素
print(bicycles[0])

2. 在列表的末尾添加元素

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
bicycles.append("ducati")  //在列表的末尾添加元素
print(bicycles)

3. 在列表的指定位置插入元素

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
bicycles.insert(0, 'yamaha')  //在第一個(gè)位置插入元素
print(bicycles)

4. 刪除列表最后一個(gè)元素

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
bicycles.pop()  //刪除列表最后一個(gè)元素
print(bicycles)

5. 刪除列表指定位置的元素

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
bicycles.pop(0)  //刪除第一個(gè)位置的元素
print(bicycles)

6. 根據(jù)值刪除元素

bicycles = ['trek', 'cannondale', 'readline', 'specialized']
bicycles.remove('readline')  //根據(jù)值刪除元素
print(bicycles)

三、組織列表

1. 使用sort( )方法對(duì)列表進(jìn)行永久性排序

cars = ['bmw', 'auid', 'boyota', 'subaru']
cars.sort()               //按照字母順序排列
cars.sort(reverse=True)   //按與字母順序相反的順序排列
print(cars)

2. 使用sorted( )方法對(duì)列表進(jìn)行臨時(shí)排序

cars = ['bmw', 'auid', 'boyota', 'subaru']
prinut(cars.sorted())              //按照字母順序臨時(shí)排列
print(cars.sorted(reverse=True) )  //按與字母順序相反的順序臨時(shí)排列
print(cars)

3.倒著打印列表

cars = ['bmw', 'auid', 'boyota', 'subaru']
print(cars)

cars.reverse()       //反置列表
print(cars)

4. 確定列表長(zhǎng)度

cars = ['bmw', 'auid', 'boyota', 'subaru']
print(len(cars))

四、遍歷列表

python經(jīng)常使用for循環(huán)遍歷列表,在for循環(huán)的冒號(hào)之后,縮進(jìn)的行全是循環(huán)體

cars = ['bmw', 'auid', 'boyota', 'subaru']
for car in cars:
  print(car)

五、創(chuàng)建數(shù)值列表

1.使用range( )函數(shù)

在range函數(shù)中,有兩個(gè)值,如下所示,程序只會(huì)打印1~4,不會(huì)打印第二個(gè)值。

for value in range(1,5):
  print(value)

2. 使用range( )創(chuàng)建數(shù)字列表

要?jiǎng)?chuàng)建數(shù)字列表,可使用函數(shù)list( )將range( )的結(jié)果直接轉(zhuǎn)換成列表。如果將range( ) 作為list( ) 的參數(shù),輸出將為一個(gè)數(shù)字列表。

numbers = list(range(1,6))   //創(chuàng)建含有1~5的列表
print(numbers)

numbers = list(range(2, 11, 2))  //創(chuàng)建從2開始,不斷加2,到11結(jié)束的列表
print(numbers)

3. 對(duì)數(shù)字列表執(zhí)行簡(jiǎn)單的統(tǒng)計(jì)計(jì)算

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(min(digits))         //數(shù)字列表的最小值
print(max(digits))         //數(shù)字列表最大值
print(sum(digits))         //數(shù)字列表的綜合

4. 列表解析

首先制定一個(gè)描述性的列表名,然后指定一個(gè)方括號(hào),方括號(hào)中先定義一個(gè)表達(dá)式,用于生成存儲(chǔ)到列表中的值,接下來(lái),編寫一個(gè)for循環(huán),由于給表達(dá)式提供值。

squares = [value**2 for value in range(1, 11)]
print(squares)

六、使用列表的一部分

1. 切片

列表的部分元素成為切片。

  1. 要?jiǎng)?chuàng)建切片,可指定要使用的第一個(gè)元素的索引和最后一個(gè)元素的索引加1。
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(digits[0:3])   //打印第1個(gè)到第3個(gè)元素
  1. 如果你沒(méi)有指定第一個(gè)索引,python將自動(dòng)從列表開頭開始:
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(digits[:3])   //打印第1個(gè)到第3個(gè)元素
  1. 如果你沒(méi)有指定第二個(gè)索引,python將讓切片終止與列表末尾:
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(digits[1:])   //打印第2個(gè)到最后一個(gè)元素
  1. 負(fù)數(shù)索引返回離列表末尾相應(yīng)距離的元素,可以輸出列表末尾的任何切片:
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(digits[-3:])   //打印第2個(gè)到最后一個(gè)元素

2. 遍歷切片

如果要遍歷列表的部分元素,可在for循環(huán)中使用切片

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for digit in digits[:3]:
  print(digit)

3. 賦值列表

要復(fù)制一個(gè)列表,可創(chuàng)建一個(gè)包含整個(gè)列表的切片,方法是同時(shí)省略起始索引和終止索引( [ : ] ),這讓Python創(chuàng)建一個(gè)始于第一個(gè)元素,終止于最后一個(gè)元素的切片,即復(fù)制整個(gè)列表。

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
copy_digits = digits[:]

print(digits)
print(copy_digits)

注意不要使用列表名給另一個(gè)列表名賦值,這樣會(huì)使兩個(gè)列表名關(guān)聯(lián)到同一個(gè)列表,當(dāng)修改其中一個(gè)列表名關(guān)聯(lián)的列表的時(shí)候,另外一個(gè)列表名關(guān)聯(lián)的列表也會(huì)改變。

七、元組

1. 列表是可以修改的,而元組是不可修改的列表,元組使用圓括號(hào)來(lái)標(biāo)識(shí)。

wdigits = (200, 50)
print(digits[0])
print(digits[1])

2. 遍歷元組中的所有值

想列表一樣,也可以使用for循環(huán)來(lái)遍歷元組中的所有值:

digits = (200, 50)
for digit in digits:
  print(digit)

3. 修改元組變量

元組不可以修改,但是元組的變量名可以修改,即關(guān)聯(lián)到另一個(gè)元組。

digits = (200, 50)
print(digits)
digits = (1, 2)
print(digits)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容