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將列表列印出...