python基礎課程系列(二)

2021-08-21 19:35:54 字數 4707 閱讀 1831

3.2.修改、新增和刪除元素

你建立的大多數列表都將是動態的,這意味著列表建立後,將隨著程式的執行增刪元素。例如,你建立乙個遊戲,要求玩家射殺從天而降的外星人;為此,可在開始時將一些外

星人儲存在列表中,然後每當有外星人被射殺時,都將其從列表中刪除,而每次有新的外星人出現在螢幕上時,都將其新增到列表中。在整個遊戲執行期間,外星人列表的長度

將不斷變化。

3.2.1.修改列表元素

修改列表元素的語法與訪問列表元素的語法類似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定該元素的新值

>>> motorcycles = ['honda', 'yamaha', 'suzuki']

>>> print(motorcycles)

['honda', 'yamaha', 'suzuki']

>>> motorcycles[0] = 'ducati'

>>> print(motorcycles)

['ducati', 'yamaha', 'suzuki']

2)在列表中插入元素

使用方法 insert() 可在列表的任何位置新增新元素。為此,你需要指定新元素的索引和值。

>>> print(motorcycles)

['ducati', 'yamaha', 'suzuki', 'honda']

>>> motorcycles.insert(2, 'bmw')

>>> print(motorcycles)

['ducati', 'yamaha', 'bmw', 'suzuki', 'honda']

3.2.3.從列表中刪除元素

1)使用 del 語句刪除元素

如果知道要刪除的元素在列表中的位置,可使用 del 語句。你經常需要從列表中刪除乙個或多個元素。例如,玩家將空中的乙個外星人射殺後,你很可能要將其從存活的外星人列表中刪除;當使用者在你建立的 web 應用中登出其賬戶時,

你需要將該使用者從活躍使用者列表中刪除。你可以根據位置或值來刪除列表中的元素。

>>> print(motorcycles)

['ducati', 'yamaha', 'bmw', 'suzuki', 'honda']

>>> del motorcycles[2]

>>> print(motorcycles)

['ducati', 'yamaha', 'suzuki', 'honda']

2)使用方法 pop() 刪除元素

有時候,你要將元素從列表中刪除,並接著使用它的值。例如,你可能需要獲取剛被射殺的外星人的 x  和 y  座標,以便在相應的位置顯示**效果;在 web 應用程式中,你可能

要將使用者從活躍成員列表中刪除,並將其加入到非活躍成員列表中。

方法 pop() 可刪除列表末尾的元素,並讓你能夠接著使用它。

>>> print(motorcycles)

['ducati', 'yamaha', 'suzuki', 'honda']

>>> popped_motorcycle = motorcycles.pop()

>>> print(motorcycles)

['ducati', 'yamaha', 'suzuki']

>>> print(popped_motorcycle)

honda

3)彈出列表中任何位置處的元素

實際上,你可以使用 pop() 來刪除列表中任何位置的元素,只需在括號中指定要刪除的元素的索引即可。

>>> print(motorcycles)

['ducati', 'yamaha', 'suzuki']

>>> first_moto = motorcycles.pop(0)

>>> print(motorcycles)

['yamaha', 'suzuki']

>>> print(first_moto)

ducati

如果你不確定該使用 del 語句還是 pop() 方法,下面是乙個簡單的判斷標準:如果你要從列表中刪除乙個元素,且不再以任何方式使用它,就使用 del 語句;如果你要在刪除元

素後還能繼續使用它,就使用方法 pop() 。

4)根據值刪除元素

有時候,你不知道要從列表中刪除的值所處的位置。如果你只知道要刪除的元素的值,可使用方法 remove() 。

>>> print(motorcycles)

['yamaha', 'suzuki']

>>> motorcycles.remove('yamaha')

>>> print(motorcycles)

['suzuki']

3.3.組織列表

3.3.1.使用方法sort()對列表進行永久性排序

>>> print(cars)

['bmw', 'audi', 'toyota', 'subaru']

>>> cars.sort()

>>> print(cars)

['audi', 'bmw', 'subaru', 'toyota']

>>> cars.sort(reverse = true)

>>> print(cars)

['toyota', 'subaru', 'bmw', 'audi']

3.3.2.使用函式sorted()對列表進行臨時排序

>>> print('here is the original list: %s' % (cars))

here is the original list: ['bmw', 'audi', 'toyota', 'subaru']

>>> print('here is the sorted list: %s' % (sorted(cars)))

here is the sorted list: ['audi', 'bmw', 'subaru', 'toyota']

>>> print('here is the original list again: %s' % (cars))

here is the original list again: ['bmw', 'audi', 'toyota', 'subaru']

3.3.3.倒著列印列表

要反轉列表元素的排列順序,可使用方法 reverse() 。

>>> print(cars)

['bmw', 'audi', 'toyota', 'subaru']

>>> cars.reverse()

>>> print(cars)

['subaru', 'toyota', 'audi', 'bmw']

方法 reverse() 永久性地修改列表元素的排列順序,但可隨時恢復到原來的排列順序,為此只需對列表再次呼叫 reverse() 即可。

3.3.4.確定列表的長度

使用函式len()可快速獲悉列表的長度。

>>> print(cars)

['subaru', 'toyota', 'audi', 'bmw']

>>> len(cars)

4第4章 操作列表

4.1.遍歷整個列表

使用for迴圈來列印car名單中的所有名字:

>>> print(cars)

['subaru', 'toyota', 'audi', 'bmw']

>>> for car in cars:

print(car)

subaru

toyota

audi

bmw編寫 for 迴圈時,對於用於儲存列表中每個值的臨時變數,可指定任何名稱。然而,選擇描述單個列表元素的有意義的名稱大有幫助。

4.1.2.在for迴圈中執行更多的操作

在 for 迴圈中,可對每個元素執行任何操作。

>>> for car in cars:

print('%s is a car brand !' % car)

subaru is a car brand !

toyota is a car brand !

audi is a car brand !

bmw is a car brand !

4.3.建立數值列表

4.3.1.使用函式 range()

python函式range()讓你能夠輕鬆地生成一系列的數字。

>>> for value in range(5):

print(value)01

234>>> for value in range(1, 5):

print(value)12

344.3.2.使用range()建立數字列表

要建立數字列表,可使用函式 list() 將 range() 的結果直接轉換為列表。

>>> number = list(range(1, 5))

>>> print(number)

[1, 2, 3, 4]

>>> even_number = list(range(2, 11, 2))

>>> print(even_number)

[2, 4, 6, 8, 10]

4.3.4.列表解析

前面介紹的生成列表 squares 的方式包含三四行**,而列表解析讓你只需編寫一行**就能生成這樣的列表。 列表解析 將 for 迴圈和建立新元素的**合併成一行,並自動

附加新元素。

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

>>> print(squares)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

python基礎課程

1.運算子 可以代表兩個數相加也可以代表兩個字串相連 a 12 22 print a b good job print b 代表兩個數相減也可以代表求乙個數的相反數 a 7print a 代表兩個數相乘也可以代表字串重複 a 5 898 print a b hello 3 print b 代表兩個數...

Python基礎課程筆記(一)

1 python www.python.org 2 print hello python print hello python 3 布林值 and,or,not 4 字串 都行。print 100 200 100 200 5 python注釋是 6 如果乙個字串包含很多需要轉義的字元,對每個字元都要...

python基礎課程OOP 4

python oop 4 1 類的成員描述符 屬性 屬性案例 class student def init self self.name name self.age age self.setname name def intro self print hai,my name is format se...