Python學習第四天
- 前言
- 數值串列與串列的深度分析
- 元組
前言
今天是學習Python的第四天,學習干貨的程序總是枯燥的,但是每次咱們的也不多是吧,也就20來分鐘就能看完的,加油哦,當我們的基礎學到一定程度之后,咱們可以去csdn發現更多有趣的python玩法,使整個程序變的有趣一點,
數值串列與串列的深度分析
數值串列
使用函式range()可以輕松的生成一系列數如:
for value in range(1,10):
print(value)
結果:
1
2
3
4
5
6
7
8
9
沒有列印出10是因為編程語言中常見的差一行為,在這里可以理解為列印的范圍為 大于等于1,小于10
range的意思是范圍,我們帶著這個意思去理解
range()另一種用法 range(n) 實作從0列印到n-1
for value in range(6):
print(value)
結果:
0
1
2
3
4
5
使用range()創建數字串列
numbers = list(range(6))
print(numbers)
結果:
[0, 1, 2, 3, 4, 5]
這里使用了list()函式將range()函式結果直接轉化為串列
使用函式range()還可以指定步長,可以給range函式指定第三個引數,Python就根據這個步長生成數字如:
numbers = list(range(2,11,2))#第一個引數是開始的開始的數字,第二引數是不能超過的數字,第三個引數是步長(相當于每次加該應的引數值)
print(numbers)#整體的意思就是range函式從2開始數,然后不斷加2,知道達到或者超過11
結果:
[2, 4, 6, 8, 10]
第一個引數是開始的數字,第二引數是不能超過的數字,第三個引數是步長(相當于每次加該應的引數值)
整體的意思就是***range函式從2開始數,然后不斷加2,直到達到或者超過11***
squares = []#首先創建了一個空串列
for value in range(1,11):#創建數值
square = value ** 2#變數square與 value的平方相關聯
squares.append(square)#使用append方法將square的值加入到串列中,如果為了更方便的話可以不適用臨時變數 square,直接squares.append(value ** 2)
print(squares)#最后輸出串列中的值
結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
對數字串列執行簡單的統計計算
>>> digits = [1,2,3,4,5,6,7,8,9,0]
>>>
>>> min(digits)#求最小值
0
>>> max(digits)#求最大值
9
>>> sum(digits)#求和
45
串列決議
串列決議將for回圈和創建新元素的代碼合并成一行,并自動附加新元素
squares = [value**2 for value in range(1,11)]
print(squares)
結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
squares 指定一個串列 而value2表示計算公式 value充當變數 for將取得的值傳送給計算式value2 結果仍在串列中
決議串列的格式 串列名 = [計算式 for 變數名 in range(引數)] 這里都沒有冒號“:”
使用串列的一部分
切片
food_mine= ['charles','yin','bo','shazi','marry']
print(food_mine[0:3])#其實相當于創建了一個索引方式串列名food_mine = ['pizza','falafel','carrot cake']
friend_food = food_mine[:]
print("This list is my favorite food")
print(food_mine)
print("\nMy friend's favorite food are:")
print(friend_food)#[位置(起):位置(末)],如果沒有索引的方式則從頭開始或者從末尾開始
結果:
[‘charles’, ‘yin’, ‘bo’]
This list is my favorite food
[‘charles’, ‘yin’, ‘bo’, ‘shazi’, ‘marry’]
My friend’s favorite food are:
[‘charles’, ‘yin’, ‘bo’, ‘shazi’, ‘marry’]
players = ['charles','yin','bo','shazi','marry']
print(players[1:])
結果:
[‘yin’, ‘bo’, ‘shazi’, ‘marry’]
同樣也可以使用負值來進行檢索
players = ['charles','yin','bo','shazi','marry']
print(players[-2:])
結果:
[‘shazi’, ‘marry’]
復制串列
為什么要復刻串列?
復刻串列是復制上一個串列中的內容并且重新創建一個新的串列,方便了內容的轉換
food_mine = ['pizza','falafel','carrot cake']
friend_food = food_mine[1:2]#關鍵一步
print("This list is my favorite food")
print(food_mine)
print("\nMy friend's favorite food are:")
print(friend_food)
結果:
This list is my favorite food
[‘pizza’, ‘falafel’, ‘carrot cake’]
My friend’s favorite food are:
[‘falafel’]
對復刻表進行添加元素
food_mine = ['pizza','falafel','carrot cake']
friend_food = food_mine[1:2]
food_mine.append("fish")#關鍵一步
print("This list is my favorite food")
print(food_mine)
friend_food.append("toufu")#關鍵一步
print("\nMy friend's favorite food are:")
print(friend_food)
結果:
This list is my favorite food
[‘pizza’, ‘falafel’, ‘carrot cake’, ‘fish’]
為什么不能將 food_mine = friend_food
如果講food_mine = friend_food 會使得變數發生轉換使得兩個變數指向同一個串列 從而不能實作復刻串列
元組
不可變的串列成為元組
定義元組.定義元組的格式: 變數=(元素,元素)
dimensions = (200,50)#定義元組與串列的不同在于 元組使用的是圓括號 而串列使用的是[]
print(dimensions[0])
dimension[0] = 250 #這里嘗試著修改元組中的元素 但是編譯器 發出錯誤不允許修改而且只列印出了200,正印證了元組的概念
結果:
NameError: name ‘dimension’ is not defined
200
但是更嚴格的來說元組是用逗號來標識的,當元組只定義一個元素 則格式如: my_list = (1,),也要在第一個元素后面加上一個逗號
遍歷元組中所有值
dimensions = (200,50)#定義元組與串列的不同在于 元組使用的是圓括號 而串列使用的是[]
for yuansu in dimensions:
print(yuansu)
結果:
200
50
修改元組變數
dimensions = (200,50)#定義元組與串列的不同在于 元組使用的是圓括號 而串列使用的是[]
print(f"original dimensions :")
for yuansu in dimensions:
print(yuansu)
dimensions = (250,30)#修改的方法其實就是相當于重新定義了一番
print(f"Modified dimensions:")
for yuansu in dimensions:#又復習了一下for陳述句 不能丟冒號
print(yuansu)
結果:
original dimensions :
200
50
Modified dimensions:
250
30
明天繼續,每天一點點,哈哈哈哈,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277674.html
標籤:python
上一篇:檔案上傳從web到Java
