Python學習筆記 (二)列表

2021-08-14 19:33:10 字數 4661 閱讀 3138

3組織列表

二操作列表

3使用列表的一部分切片

三元組

列表是由一系列按特定順序排列的元素組成。在python中,用方括號[ ]來表示列表,並用逗號來分割其中的元素。

列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴python。索引從0開始。同時python提供了一種特殊語法,可以用負數作為索引。代表從列表的後面來訪問列表中的元素:索引-1返回最後乙個列表元素,索引-2返回倒數第二個列表元素…以此類推。這在我們不知道列表長度的時候很有用。

print(fruits[0].title())

print(fruits[-1].title())

print(fruits)

pear

fruits[0] = 'watermelon'
['watermelon', 'banana', 'pear']

fruits.insert(-1,'mango')
del

fruits

[0]

['banana', 'pear']
first_element = fruits.pop(0)

print(first_element)

print(fruits)

['banana', 'pear']

如果從列表中刪除乙個元素且不再以任何方式使用它,就是用del語句;如果在刪除元素後還想繼續使用它,就用pop()方法。

fruits.remove('banana')
字串會根據字母順序排序,同時可以向sort()方法傳遞引數reverse=true來降序排序列表。

fruits.sort()

print(fruits)

nums = [3,1,5,7,2]

nums.sort()

print(nums)

nums.sort(reverse=true)

print(nums)

[1, 2, 3, 5, 7]

[7, 5, 3, 2, 1]

要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可以使用函式sorted()。同樣可以向sorted()函式傳遞引數reverse=true來降序排序列表。

print(sorted(fruits,reverse=true))

print(fruits)

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

fruits.reverse()

print(fruits)

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

print(len(fruits))

3
for fruit in fruits:

print(fruit)

banana

pear

for i in range(1,5):

print(i)

123

4

要建立數字列表,可使用函式list()range()的結果直接轉換為列表。如果將range()作為list()的引數,輸出將為乙個數字列表。

numbers = list(range(1,5))

print(numbers)

[1, 2, 3, 4]
使用range()函式時還可以指定步長。例如下面的**列印1~10內的偶數。

even_numbers = list(range(2,11,2))

print(even_numbers)

[2, 4, 6, 8, 10]
使用range()幾乎能夠建立任何需要的數字集,例如建立乙個列表其中包含前十個整數的平方。結合了前面列表的新增操作。

squares = 

fori in range(1,11):

i = i ** 2

print(squares)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
有幾個專門用於處理數字列表的python函式。例如找出數字列表的最大值、最小值和總和:

nums = [1,2,3,4,5]

print(min(nums))

print(max(nums))

print(sum(nums))

1

515

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

nums = [num ** 2

fornum

in range(1,11)]

print(nums)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
除了處理列表的所有元素外,我們還可以處理列表的部分元素–python稱之為切片

要建立切片,可指定要是用的第乙個元素和最後乙個元素的索引。同range()一樣,取值也是「左閉右開」的。

players = ['kobe','paul','james','curry','jordan']

print(players[0:3])

print(players[-3:-1])

['kobe', 'paul', 'james']

['james', 'curry']

如果沒有指定起始索引,則預設從列表頭遍歷。如果沒有指定終止索引,則預設遍歷到列表末尾。

players = ['kobe','paul','james','curry','jordan']

print(players[:3])

print(players[3:])

print(players[:])

['kobe', 'paul', 'james']

['curry', 'jordan']

['kobe', 'paul', 'james', 'curry', 'jordan']

players = ['kobe','paul','james','curry','jordan']

for player in players[:3]:

print(player)

kobe

paul

james

要複製列表,可建立乙個包含整個列表的切片。而不能直接將列表變數賦給另乙個變數。

players = ['kobe','paul','james','curry','jordan']

another_players_one = players[:]

another_players_two = players

del players[0]

print(another_players_one)

print(another_players_two)

['kobe', 'paul', 'james', 'curry', 'jordan']

['paul', 'james', 'curry', 'jordan']

列表是可以修改的,但有時我們需要建立一系列不可修改的元素,元祖可以滿足這種需求。python將不能修改的值稱為不可變得,而不可變的列表被稱為元祖

元祖使用圓括號而不是方括號來進行標識。定義元祖後,就可以使用索引來訪問其元素,就像訪問列表元素一樣。

dimensions = (200,5)

for dimension in dimensions:

print(dimension)

200

5

此時我們不能再通過dimensions[0] = 300來修改元祖內的元素。

雖然不能修改元組的元素,但可以給儲存元組的變數賦值

dimensions = (200,5)

print

(dimensions)

dimensions = (300,5)

print

(dimensions)

(200,5)

(300,5)

python入門學習筆記(二) 列表

3.列表 3.1使用列表的值 name dad sss ff print name print name 0 print name 1 upper 3.2修改列表值 name 1 aa print name 3.3新增元素 3.3.1在末尾加乙個元素 3.3.2在列表任意位置新增 insert na...

python學習筆記(二)列表操作

python學習筆記 二 列表操作 列表及列表操作 列表是最常用的資料型別之一,列表也叫陣列,列表定義,使用即可 列表裡面可以再套列表,乙個裡面套乙個列表,叫二維陣列 乙個裡面套乙個列表,裡面的列表再套乙個列表,這個叫三位陣列,套幾層就是幾維,定義格式如下 1 list1 1,2,3,4 乙個普通的...

Python基礎學習筆記二(列表)

本文繼續python基礎進行學習,內容接連上篇文章 python基礎學習筆記一 變數和資料型別 希望我的經驗可以幫到大家!注 文中例項均於jupyter notebook下編譯。列表是python中內建有序可變序列,列表的所有元素放在一對中括號 中,並使用逗號分隔開,如果你讓python將列表列印出...